我有一个jQuery代码看起来像下面jQuery的:Ajax不是被称为第一
function get_data_obj(){
var dataObj;
$.ajax({
url: "XXX.soesite.XXX",
success: function(result) {
dataObj = ['Hi'];
console.log("Inside ajax");
console.log(dataObj);
}
});
console.log("Outside ajax");
console.log(dataObj);
}
get_data_obj();
我期待的输出是
里面AJAX
[ '嗨']
外ajax
['Hi']
但是输出我越来越喜欢这个
外阿贾克斯
不确定
的内部结构是阿贾克斯
[“嗨”]
我真搞不清楚我的函数的控制流。基本上,我的功能首先应该是ajax,然后打印其他语句,但不幸的是我的功能没有按我期望的那样工作。任何人都可以告诉我在我的代码中出现了什么问题,我该如何让我的函数先完成Ajax工作然后再继续下去?
AJAX是异步的,它会当它得到响应打印。想象一下,它就像一个函数调用,每当它完成时它将返回一个值,但它不会中断流调用它的原始函数。此外,尝试'async:false' - 这应该做你想做的。请记住,这更多的是“知道某事,但不使用它”。 –
感谢@MageshKumaar的帮助。有效。 –