[英]AJAX - Parse JSON object returned in JQUERY
我在這里有點卡住了>
我的php腳本返回此JSON(以可變響應)(帶有json_encode的編碼數組):
{"1":{"id":"pvv001","tooltip":"tip1","link":"http:\/\/domain\/file1.html"},"2":{"id":"pvv002","tooltip":"tip2","link":"http:\/\/domain\/file2.html"}}
我希望這是有效的JSON對象...
然后是JavaScript函數,該函數應該獲取此字符串並進行處理-將“鏈接”的內容加載到ELEMENT“ id”。
function jLinks(idchapter)
{
var url = 'ajax_loadlinks.php';
var data = {
idchapter : idchapter
};
$.post(url,data, function(response)
{
//$('#coursecontent').html(response);
var obj = JSON.parse(response);
for (var i=0; i<obj.length; i+1)
{
$('#'+obj[i].id).html('<a href="'+obj[i].link+'">link</a>');
}
});
}
它不會在瀏覽器或控制台中引發任何錯誤,但是元素根本不會更新。
我質疑我的解析和訪問數據是某種錯誤,但是我不知道如何調試。
由於您的字符串是一個object
而不是array
,因此您需要$ .each方法來遍歷對象的每個key
。
var obj ={
"1": {
"id": "pvv001",
"tooltip": "tip1",
"link": "http:\/\/domain\/file1.html"
},
"2": {
"id": "pvv002",
"tooltip": "tip2",
"link": "http:\/\/domain\/file2.html"
}
};
$.each(obj,function(i,v){
$('#'+v.id).html('<a href="'+v.link+'">link</a>');
});
請嘗試這個
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
console.log(obj[prop].id);
$('#'+obj[prop].id).html('<a href="'+obj[prop].link+'">link</a>');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.