在我仍在学习的过程中,经过数小时的尝试,我仍然无法弄清楚如何在WP中管理该Ajax调用并使它正常工作。我想做的是将“价格”(USD)提取到变量中以备将来使用。
这是我的JSON对象:
{
"data": {
"id": xx,
"name": "xx",
"symbol": "xx",
"rank": xx,
"quotes": {
"USD": {
"price": xx,
"volume_24h": xx,
"market_cap": xx,
"percent_change_1h": xx,
}
},
"last_updated": xx
},
}
这是我目前正在做的事情:
(function(getPrice) {
$j.ajax({
url: 'https://widgets.coinmarketcap.com/v2/ticker/3012/',
type: 'GET',
async: false,
data: 'data',
}).then(function(data) {
console.log(data);
});
})();
这使我可以记录整个“数据”,但是在Google和StackOverflow之后,我仍然无法使用。我认为这只是“ data.quotes.USD.price”,但显然不是。
非常感谢我的每一个建议!
答案 0 :(得分:2)
您需要两次data
;一个是您的变量,一个是响应中的外部对象。正确的版本是:
console.log(data.data.quotes.USD.price);
var $j = jQuery;
(function(getPrice) {
$j.ajax({
url: 'https://widgets.coinmarketcap.com/v2/ticker/3012/',
type: 'GET',
}).then(function(data) {
console.log(data.data.quotes.USD.price);
});
})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
还要注意,我删除了async: false
(这是很糟糕的做法),不需要data: 'data'
。