Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript php对AJAX调用的JSON响应_Javascript_Php_Jquery_Json_Ajax - Fatal编程技术网

Javascript php对AJAX调用的JSON响应

Javascript php对AJAX调用的JSON响应,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我正在从java脚本执行一个ajax调用,我正在尝试从php获取json响应,如果我将数据类型设置为json,则将执行ajax错误块(如果未执行成功块),如果我尝试控制台,则不指定数据类型。将响应记录在成功块中,我将一无所获 JS let CurrentDate = Date(); console.log(CurrentDate); jsonObject = { 'TrackName' : 'Material Science', 'TrackDesc' : 'Test Text

我正在从java脚本执行一个ajax调用,我正在尝试从php获取json响应,如果我将数据类型设置为json,则将执行ajax错误块(如果未执行成功块),如果我尝试控制台,则不指定数据类型。将响应记录在成功块中,我将一无所获

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);
  • 在JS文件中,删除
    contentType:“application/json”,
  • 在php文件中,选中“包含文件url”并
  • 正确关闭if语句块
JS文件:

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文件:

<?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);
    }
?>


从JS代码中删除
contentType:“application/json”
,并在PHP文件中正确地关闭大括号,它将正常工作。

您可以使用json_encode()函数将PHP数组转换为json格式,并作为响应返回。发送AJAX请求时设置数据类型:“JSON”。

是否确定调用了正确的URL“../../../PHP/adminScripts/addNewTrack.PHP”任何控制台错误?是否可以尝试删除AJAX中的contentType,然后使用
数据类型:“JSON”,encode:true,
然后删除PHP中的标题