【发布时间】:2013-04-05 00:30:01
【问题描述】:
我不断收到 JSON 解析器错误 (萤火虫控制台说'没有子对象')用于以下数据:
(字符串)每次迭代的 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 数据
任何帮助将不胜感激。 谢谢
【问题讨论】:
-
我刚刚尝试了
JSON.parse,它工作正常 -
如果你已经设置了datatype=json就不需要解析了。因为它已经将JSON字符串解析为javascript对象了
-
tha 解析错误是因为字符串的最后一个对象之后的 ,(逗号),即最后一个 '{ "title": " Nac", "no1": "1212","no2 ": "12126"}' 你必须用 ] 而不是 ,] 连接数据
标签: jquery ajax json parse-error