JSON response from php on AJAX call

11,114
  • In your JS file, remove contentType: "application/json",
  • In your php file, check "include file url" and
  • Close if statement block properly

JS File:

let CurrentDate = Date();
jsonObject = {
   'TrackName' : 'Material Science',
    'TrackDesc' : 'Test Text Test Text Test Text Test Text Test Text Test Text Test Text ',
    'Timestamp' : CurrentDate
}
$.ajax({
    type:'post',
    url:'addNewTrack.php',
    data: {trackDetails:jsonObject},
    dataType: "json",
    success: function(response) {
        console.log('SUCCESS BLOCK');
        console.log(response);
    },
    error: function(response) {
        console.log('ERROR BLOCK');
        console.log(response);
    }
});

PHP File:

<?php
    header('Content-type: application/json');
    include('../connection.php');

    if($_POST) {
        $obj = $_POST['trackDetails'];

        $TrackName = mysql_real_escape_string($obj['TrackName']);
        $TrackDesc = mysql_real_escape_string($obj['TrackDesc']);
        $TrackAdderID = 'Admin ';                  //$_SESSION["userID"];
        $Timestamp = mysql_real_escape_string($obj['Timestamp']);

        $response_array['status'] = 'status123';
        echo json_encode($response_array);
    }
?>
Share:
11,114
Summy Sumanth
Author by

Summy Sumanth

Updated on July 20, 2022

Comments

  • Summy Sumanth
    Summy Sumanth almost 2 years

    I am doing a ajax call from java script and Im trying to get json response from php, if I set dataType as JSON, ajax error block is getting executed if not success block is getting executed, without specifying dataType if I try to console.log the response in success block I am getting nothing

    JS

    let CurrentDate = Date();
    console.log(CurrentDate);
    
    jsonObject = {
       'TrackName' : 'Material Science',
        'TrackDesc' : 'Test Text Test Text Test Text Test Text Test Text Test Text Test Text ',
        'Timestamp' : CurrentDate
    }
    console.log(jsonObject);
    $.ajax({
        type:'post',
        url:'../../../../PHP/adminScripts/addNewTrack.php',
        contentType: "application/json",
        data: {trackDetails:jsonObject},
        dataType: "json",
        success: function(response) {
            console.log('SUCCESS BLOCK');
            console.log(response);
        },
        error: function(response) {
            console.log('ERROR BLOCK');
            console.log(response);
        }
    });
    

    PHP

    <?php
    header('Content-type: application/json');
    include('../connection.php');
    
    if($_POST) {
    $obj = $_POST['trackDetails'];
    
    $TrackName = mysql_real_escape_string($obj['TrackName']);
    $TrackDesc = mysql_real_escape_string($obj['TrackDesc']);
    $TrackAdderID = 'Admin ';                  //$_SESSION["userID"];
    $Timestamp = mysql_real_escape_string($obj['Timestamp']);
    
    $response_array['status'] = 'status123';
    echo json_encode($response_array);
    

    please help me figure out how to get json response to an ajax call in PHP