我是JSON和jQuery / JavaScript的新手。
我如何拉入一个对象,以便我可以在jQuery中使用它,我尝试了2次尝试
var placements = document.querySelector(placements)
var message = document.querySelector(placements.message)
$.ajax({
type: 'GET',
url: 'https://raw.githubusercontent.com/kieranbs96/developer-exercise/master/data/recommendations.json',
async: false,
dataType: 'json',
success: function (data) {
$("header").append(placements.message);
}
});
以下是我试图引入的JSON:
{
"placements":[
{
"message":"If you like this, you might be into these",
"items":[
{
"id":"029148",
"name":"Woodblock Play Suit",
"price":"46.00"
},
{
"id":"0294526806",
"name":"Smock Dress",
"price":"39.00"
},
{
"id":"0297180006",
"name":"Cami",
"price":"9.00"
},
{
"id":"0298473606",
"name":"Asymmetric Wrap Cami Dress",
"price":"46.00"
},
{
"id":"0297155306",
"name":"Casual Stripe Tee",
"price":"16.00"
}
]
}
]
}
标记为重复 - 另一个问题没有解决我的问题 - 它已经通过这个问题的答案得到解决。
答案 0 :(得分:1)
您还没有包含错误或预期输出,但这里有两个潜在错误。
您没有使用从AJAX请求返回的data
对象。
与JSON对象上的placements
键关联的值是对象的数组。因此,要访问message
密钥,您需要遍历该阵列。
这可能是您的代码应该是这样的:
$("header").append(data.placements[0].message);
答案 1 :(得分:0)
首先,您在追加功能中缺少数据对象
其次,考虑到data.placements
是placements
这一事实,您错过了array
的关键符号。
您可以使用data.placements[0].message
来获取您的首选数据,或者,如果placements
将来会使用更多对象进行扩展,map
可以通过您的对象进行扩展:
data.placements.map(function(obj, index){
if(index == 0){
$("header").append(obj.message);
}
})
如果你的数组的长度总是为1,则不需要