Ajax json Parser Error

时间:2013-04-05 00:30:02

标签: jquery ajax json parse-error

我一直在收到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

1 个答案:

答案 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',
        ...