为什么我不能将ajaxResult分配给结果?的console.log(结果);在成功选项中正常工作,并在控制台中显示第二个。但是最后一个console.log(结果)的结果;未定义并首先出现在控制台中。这有什么问题?
$(function () {
var result;
$.ajax({
type: 'POST',
url: 'GelinlikSet',
dataType: 'json',
success: function (ajaxResult) {
result = ajaxResult;
console.log(result);
}
});
console.log(result);
});
答案 0 :(得分:2)
result
回调运行后, ajaxResult
应设置为success
。
在当前线程完成之前(即调用$.ajax
和console.log
的线程),AJAX回调将无法返回。
如果您需要对结果执行某些操作,则必须从success
回调中执行此操作。
答案 1 :(得分:1)
ajax调用之外的console.log正在ajax返回之前执行。
成功的console.log应该记录ajax的内容。
答案 2 :(得分:0)
第二个console.log在ajax调用之后立即执行,之后调用success函数,因为它是异步的(即Ajax中的A)。