function get_url(){
var returnValue = null;
$.getJSON('http://127.0.0.1:1337/?callback=?&command=get_url', "", function(data){
data = $.parseJSON(data);
returnValue = data[0].get_url;
console.log(returnValue); // "not_null"
});
console.log(returnValue); // "null"
return returnValue;
}
为什么函数不返回“not_null”?
答案 0 :(得分:3)
对$.getJSON
的调用是异步的,在您的get_url
函数返回之前不会完成。 returnValue
中没有值可以返回。
您需要使用$.ajax
而不是async:false
来使调用同步,或者以异步方式处理返回值,修改调用逻辑以使其不直接程。
$.getJSON
只是简单地调用$ .ajax,所以你可以这样做:
$.getJSON