Jquery Ajax json解析器错误
我不断得到一个JSON解析器错误 (firebug控制台显示“没有子对象”)以获取以下数据: (字符串)每次迭代的var数据Jquery Ajax json解析器错误,jquery,ajax,json,parse-error,Jquery,Ajax,Json,Parse Error,我不断得到一个JSON解析器错误 (firebug控制台显示“没有子对象”)以获取以下数据: (字符串)每次迭代的var数据 var data='['; data+= '{ "title": " Nac", "no1": "1212","no2": "12126"},'; data+= '{ "title": " Nac", "no1": "1212","no2": "12126"},'; data+= '{ "title": " Nac", "no1": "1212","n
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)
和jqueryajax请求
$.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
JSON.parse
为您提供一个JavaScript对象,如果您在post中发送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',
...
我刚刚试过对它进行
JSON.parse
,效果很好,如果您已经设置了datatype=JSON,则无需进行解析。。因为它已经将JSON字符串解析为javascript对象,所以解析错误是因为在字符串的最后一个对象之后(逗号),即在最后一个“{”title:“Nac”,“no1:“1212”,“no2:“12126”}”之后,您必须将数据与]而不是,]