首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问jQuery语句之外的javascript变量

访问jQuery语句之外的javascript变量
EN

Stack Overflow用户
提问于 2013-10-23 03:16:30
回答 1查看 40关注 0票数 0
代码语言:javascript
复制
$.getJSON("../../index.php/churchlocator/base", function(data) {
    base_url = data.base;
}); 
alert(base_url);

如何使上述代码中的base_url在getJSON var之外可访问?

EN

Stack Overflow用户

回答已采纳

发布于 2013-10-23 03:22:17

正确的答案是将引用ajax调用结果的所有代码放在ajax调用的成功处理程序中。不要为此使用全局变量:

代码语言:javascript
复制
$.getJSON("../../index.php/churchlocator/base", function(data) {
    var base_url = data.base;
    alert(base_url);
    // or you may call some other function here and pass it the data
    myFunction(base_url);
}); 

Ajax调用是“异步的”(这就是Ajax中的A所代表的)。这意味着它们在将来某个时候完成,而您的其他javascript则继续运行。当他们完成后,他们将调用他们的成功处理程序。因此,知道什么时候从Ajax调用返回数据的唯一方法是在成功处理程序中放置代码对返回的数据进行操作,或者从该成功处理程序调用函数并将数据传递给它。

这是异步编程,如果程序具有任何类型的异步功能,则必须使用此模型。不能对异步函数调用使用传统的顺序编程。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19532139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档