我试图显示一些通过JSON / Ajax系统用php检索的数据,但出现此错误: [对象对象] | parsererror | SyntaxError:JSON输入意外结束
我的php脚本正在运行(当我直接在浏览器中键入php文件目录时,可以看到JSON输出):
"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;
总是出现“错误”情况,我得到: [object Object] | parsererror | SyntaxError:JSON输入意外结束
希望我很清楚,谢谢。
答案 0 :(得分:0)
替换您的ajax并尝试
$.ajax({
url: DIR_URL + 'ajax/nameOfFile.php',
type: 'POST',
data: {'day': day, 'week': week, 'month': month, 'year': year},
success: function(datta, status){
console.log('outpuut AJAX : success ');
},
error : function(result, status, errorText){
console.log('outpuut AJAX : ' + result + ' | ' + status + ' | ' + errorText);
}
});
并在php $ _POST ['day']中并获取day参数数据,
对于您的$retJSON = json_encode($ret);
数据,只需将var obj = JSON.parse(datta);
放入ajax成功并在控制台中打印obj
。
答案 1 :(得分:0)
我认为错误是由于此行引起的。
echo $retJSON;
因为$ restJSON包含数据作为数组,或者可能是带有对象的数组。 使用print_r打印此json。
print_r($retJSON);
答案 2 :(得分:0)
由于2天的等待策略,我无法将答案放在前面(然后我忘记了,对不起),所以这是:映射问题,我忘记在控制器中添加PHP文件路径.... 感谢大家。 祝你有美好的一天。