繁体   English   中英

jQuery AJAX在成功处理程序之外接收到的数据为null

[英]jQuery AJAX received data is null outside of the success-handler

考虑以下代码示例:

var source = null;

$.ajax({
    [...],
    success:function(data)
    {
        source = data;
        alert(source);
    }
});

alert(source);

现在:在成功处理程序中,一切都很好,我从Web服务获取了正确的数据,而一切都很好。 但是,一旦JS离开$ .ajax并完成它,变量source便再次为null。

告诉我为什么。 一定是我不熟悉的一些JavaScript特有的东西。 :/

可能是因为您忘记了AJAX是异步的。 success回调完成之前, source变量将是undefined的。

在该代码下(在$.ajax()之外alert(source)执行alert(source)几乎可以保证是undefined

好吧,您确定在触发Ajax调用之外的警报之前调用成功回调吗?

ajax调用是异步的,并立即返回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM