我正在使用 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/