我一直在收到JSON解析器错误 (firebug控制台说“没有子对象”)以下数据:
(String)每次迭代的var数据
var data='[';
data+= '{ "title": " Nac", "no1": "1212","no2": "12126"},';
data+= '{ "title": " Nac", "no1": "1212","no2": "12126"},';
data+= '{ "title": " Nac", "no1": "1212","no2": "12126"},';
data+= ']';
和javascript解析json
var json = JSON.parse(data)
和jQuery AJAX请求
$.ajax({
type: "POST",
data: json,
url : 'ticket.php',
dataType: 'json',
async: false,
contentType : 'application/json; charset=utf-8',
error: function(jqXHR, exception)
{
if (jqXHR.status === 0)
{
$('.item').html("err");
} else if (jqXHR.status == 404)
{
$('.item').html('err!');
} else if (jqXHR.status == 500)
{
alert("err!");
} else if (exception === 'parsererror')
{
$('.item').html('err parsererror');
} else if (exception === 'timeout')
{
$('.item').html('err!');
} else if (exception === 'abort')
{
$('.item').html('err!');
} else
{
$('.item').html('err!');
}
},
success : function(data)
{
alert("okey");
}
});
和ticket.php完全是空的,因为我不知道如何从php中的ajax接收json数据
任何帮助都将受到高度赞赏。 Thnks
答案 0 :(得分:1)
JSON.parse
为您提供了一个JavaScript对象,如果您在帖子中发送json
,则发送json而不是对象。另外,不是构建一个json字符串,而是构建一个对象,然后将其字符串化
var data= [{
"title": " Nac",
"no1": "1212",
"no2": "12126"
},
{
"title": "New",
"no1": "12",
"no2": "121"
},
{
"title": "San",
"no1": "1227",
"no2": "1"
}];
var json = JSON.stringify(data);
$.ajax({
type: "POST",
data: json,
url : 'ticket.php',
dataType: 'json',
async: false,
contentType : 'application/json; charset=utf-8',
...