0

我不断收到以下数据的 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 数据

任何帮助将不胜感激。谢谢

4

1 回答 1

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',
        ...
于 2013-04-05T00:35:02.920 回答