Javascript SyntaxError:JSON输入意外结束,但PHP文件正常
我试图显示通过JSON/Ajax系统使用php检索到的一些数据,但出现以下错误: [object object]| parsererror | SyntaxError:JSON输入意外结束 我的php脚本正在工作。当我直接在浏览器上键入php文件目录时,我可以看到JSON输出:Javascript SyntaxError:JSON输入意外结束,但PHP文件正常,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我试图显示通过JSON/Ajax系统使用php检索到的一些数据,但出现以下错误: [object object]| parsererror | SyntaxError:JSON输入意外结束 我的php脚本正在工作。当我直接在浏览器上键入php文件目录时,我可以看到JSON输出: "action": "success", "message": { "statusFin": { "txtStatus": "fin" }, "statusCom": {
"action": "success",
"message": {
"statusFin": {
"txtStatus": "fin"
},
"statusCom": {
"txtStatut": "comm"
},
"statusattLiv": {
"txtStatut": "attLiv"
},
"statusLiv": {
"txtStatut": "Liv"
},
"statusFac": {
"txtStatut": "Fac"
}
}
}
我的脚本非常简单,我现在只是想显示一条日志消息:
$.ajax({
async: false,
url: DIR_URL + 'ajax/nameOfFile.php',
type: 'POST',
data: {'day': day, 'week': week, 'month': month, 'year': year},
dataType: 'json',
success: function(datta, status){
console.log('outpuut AJAX : success ');
},
error : function(result, status, errorText){
console.log('outpuut AJAX : ' + result + ' | ' + status + ' | ' + errorText);
}
});
[编辑]PHP文件:
<?php
$msgErrorJSON = 'und';
$ret = array(
'action' => 'erreur',
'message' => array()
);
$listInfo['statusFin']['txtStatus'] = 'fin';
$listInfo['statusCom']['txtStatut'] = 'comm';
$listInfo['statusattLiv']['txtStatut'] = 'attLiv';
$listInfo['statusLiv']['txtStatut'] = 'Liv';
$listInfo['statusFac']['txtStatut'] = 'Fac';
$ret['action'] = 'success';
$ret['message'] = $listInfo;
$retJSON = json_encode($ret);
echo $retJSON;
它总是出现“error”的情况,我得到:[object object]| parserrror | SyntaxError:JSON输入的意外结束
希望我说的很清楚,提前谢谢。我想错误是由于这行造成的
echo $retJSON;
因为$restJSON包含作为数组的数据,或者可能是带有对象的数组。
使用print\u r打印此json
print_r($retJSON);
由于2天等待策略的原因,我无法在前面给出答案,然后我忘记了,很抱歉,这里是:问题在于映射,我忘了在我的控制器中添加PHP文件路径。。。。 谢谢大家。
祝您愉快。您的服务器脚本可能会返回html字符。。通常在出现错误时发生。您能告诉我们实际的JSON输出吗?因为其中的某个地方有语法错误。请展示如何创建json。如果您手动创建json而不是使用json_encode,则可能无效。我不太明白您所说的。。。我将数据类型更改为html,成功了,但我使用了数组,所以…永远不要使用async:false。这是一种可怕的做法,浏览器供应商不赞成这种做法。您应该在控制台中看到有关弃用的警告