在jQuery中处理JSON数据时出现不清楚的错误:"cannot use 'in' operator to search for length"



我收到此错误:

未捕获的类型错误:无法使用"in"运算符在 中搜索"长度"

我使用了一个 ajax 函数,它可以毫无问题地为我提供干净的 JSON 数据:

    $.get(
        ajax_url,
        data,
        function(data) { // AJAX callback
            $("#tt").html(data);              //insert server response
            fill_json(data);
        }// End AJAX callback

但是,我认为我的fill_json(data);函数中可能存在错误:

var fill_json = function(data){
        $.each(data, function(key, value) {
            var tblRow = "<tr>" + "<td>" + key.ID + "</td>" +
            "<td>" + key.post_title + "</td>" + "<td>";
            $(tblRow).appendTo("#testajax tbody");
        });
};

顺便说一句,这是使用通过 AJAX 检索的 JSON 数据的最简单方法吗?

我的 JSON 数据如下所示:

{"ID":"4066","post_title":"TATTOO SLEEVES","category":"Apparel & Accessories","slug":"apparel-and-accessories","supplier_company":"u682au5f0fu4f1au793eu30bbu30f3u30bfu30fcu5546u4e8b","allslug":"apparel-and-accessories, accessories, textiles, toys, gifts-toys-and-animation, english","allcatname":"Apparel & Accessories, Accessories, Textiles, Toys, Gifts, Toys & Animation, u82f1u8a9e"}]

通过 $.parseJSON 循环之前将数据变量解析为 JSON 格式

var fill_json = function(data){
    var jsonData=$.parseJSON(data); //change here
        $.each(jsonData, function(i) {
            var tblRow = "<tr>" + "<td>" + jsonData[i].ID + "</td>" +
            "<td>" + jsonData[i].post_title + "</td>" + "<td>";
            $(tblRow).appendTo("#testajax tbody");
        });
};
 $.get(
        ajax_url,
        data,
        function(data) { // AJAX callback
            $("#tt").html(data);              //insert server response

var jsonData=$.parseJSON(data);//My Changes fill_json(jsonData); }//结束 AJAX 回调

fill_json

var fill_json = function(data){
        $.each(data, function(key, value) {
            var tblRow = "<tr>" + "<td>" + value.ID + "</td>" +
            "<td>" + value.post_title + "</td>" + "<td>";
            $(tblRow).appendTo("#testajax tbody");
        });
};

相关内容

最新更新