这是JSON响应:
我需要访问data[1]
0.2
。我怎么得到它?
这是实际的代码:
function getTheValue(){
var result = $.ajax({ url: "https://www.blahblah.com/json" });
return result;
}
console.log(getTheValue());
这是我试过的另一种方式,没有运气:
var val = getTheValue();
console.log(val.responseJSON.dataset.data[0][1]);
答案 0 :(得分:0)
您看到的响应是ajax对象,而不是函数的返回。 $ .ajax是异步的,因此该值不会立即可用。
改编自the jQuery docs:
$.ajax({
url: your_url,
})
.done(function( result ) {
console.log( result );
});
会给你结果。您需要在done()函数内触发后续代码。
答案 1 :(得分:0)
该对象不是json的常识,而是Javascript对象,如果你想要ajax结果,你必须使用回调:
$.ajax({
url: "https://www.blahblah.com/json" ,
dataType: "json",
})
.done(function(data) {
console.log(data);
});
答案 2 :(得分:0)
您的getTheValue
函数未从AJAX调用返回JSON响应。它返回一个promise
对象,因为它实际上是一个异步调用。我建议您阅读jQuery.ajax()的文档以获取更多信息。
无论如何,您可以通过以下方式解决问题:
var val;
getTheValue().done(function(response) {
val = response.dataset.data[0][1];
});
答案 3 :(得分:0)
这最终帮助了我:
var tBill = getTheBill();
function getTheBill(){
var result;
$.ajax
({
url: "https://www.blahblah.com/json",
context: document.body,
async: false
}).done(function(val) {
result = val;
});
return result.dataset.data[0][1];
}
伙计们,谢谢你的帮助! jimm101
,你摇滚。