jquery - 在 Ajax 完成之前不要触发

标签 jquery ajax mobile

我正在使用 PhoneGap、JQuery 开发一个应用

我有 2 个标准 JavaScript 函数。

LoadLanguage() 将进行 Ajax 调用来获取语言文件,然后设置 Javascript 对象。

SetLanguage() 将使用之前的对象(在 LoadLanguage() 中设置),然后使用正确的语言设置一些变量。

所以在我的 js 文件中我有以下代码:

function LoadLanguage()
{
    ....make ajax call and set up an object
}

function SetLanguage()
{
    ....set language based of previous LoadLanguage()
}

$( '#startpage' ).live( 'pagebeforecreate',function(event)
{
    LoadLanguage();
    ....
}

$( '#startpage' ).live( 'pagebeforeshow',function(event)
{
    SetLanguage();
    ....
}

问题是 SetLanguage() 将在 LoadLanguage() 完成之前触发。我可以在 LoadLanguage ajax.complete 中运行 SetLanguage() 来解决这个问题。但这并不好,因为我需要在代码的其他部分调用 SetLanguage()

那么我该如何有效地解决这个问题呢?

最佳答案

一旦ajax请求完成并收到响应,您需要调用SetLanguage()函数。 如果您使用的是jquery,那么在您发出ajax请求的LoadLanguage函数中

success: function(response)
{
    SetLanguage();
}

关于jquery - 在 Ajax 完成之前不要触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12263752/

相关文章:

javascript - 删除先前 append 的内容后,append() 不起作用

javascript - 动态更改 jQuery 可调整大小的处理程序

javascript - 将从 PHP 传递过来的 JS 变量保存到本地存储

javascript - 对 php 的 Ajax 请求每次页面加载只能运行一次

python - 生成 Twitter 的共享消息和缩短的 URL

java - 在不同的独立设备上生成一天有效的不同随机数?

php - 发布到受密码保护的 URL?

javascript - CSS 溢出后退?

PHP- 提供 ID 时自动填充数据

html - 在网络投资组合中炫耀移动网站?