我收到了这个错误:
未捕获的TypeError:无法使用'in'运算符在
中搜索“length”
我使用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");
});
};
BTW,这是使用您通过AJAX检索的JSON数据的最简单方法吗?
我的 JSON 数据如下所示:
{"ID":"4066","post_title":"TATTOO SLEEVES","category":"Apparel & Accessories","slug":"apparel-and-accessories","supplier_company":"\u682a\u5f0f\u4f1a\u793e\u30bb\u30f3\u30bf\u30fc\u5546\u4e8b","allslug":"apparel-and-accessories, accessories, textiles, toys, gifts-toys-and-animation, english","allcatname":"Apparel & Accessories, Accessories, Textiles, Toys, Gifts, Toys & Animation, \u82f1\u8a9e"}]
答案 0 :(得分:1)
在循环通过$ .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");
});
};
答案 1 :(得分:0)
$.get(
ajax_url,
data,
function(data) { // AJAX callback
$("#tt").html(data); //insert server response
var jsonData = $。parseJSON(data); //我的变化 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");
});
};