更改页面时出现Ajax请求错误

更改页面时出现Ajax请求错误,ajax,jquery-mobile,cordova,Ajax,Jquery Mobile,Cordova,伙计们。我有一个juerymobile多页面,我在#页面索引中有一个按钮,当单击它时,将向服务器发送ajax请求,并将页面更改为#页面列,它将在PC中运行,但当我在phonegap中部署多页面时,按钮单击只能运行两次,代码如下: function test() { $.mobile.changePage('#page_column'); $.ajax({ url: "http://192.168.168.120:8090/fcmobile/getTest",

伙计们。我有一个juerymobile多页面,我在
#页面索引
中有一个按钮,当单击它时,将向服务器发送ajax请求,并将页面更改为
#页面列
,它将在PC中运行,但当我在phonegap中部署多页面时,按钮单击只能运行两次,代码如下:

function test()
{
    $.mobile.changePage('#page_column'); 
    $.ajax({
        url: "http://192.168.168.120:8090/fcmobile/getTest",
        dataType: "json"
    }).done(function(data) { 
        alert(data.content);
    });
}

我发现如果我删除
$.mobile.changePage(“#page_column”),ajax请求可以随时正常运行。但是当我添加
changePage
代码时,它只能运行两次,第三次甚至不能发送ajax请求。有人知道原因吗?

AJAX是异步的,所以不需要将
async
设置为
false
来让它工作。改用事件

例如:

function test () {
    $.ajax({
        'url': "http://192.168.168.120:8090/fcmobile/getTest",
        'dataType': 'json',
        'success': function (json_data) {
            $(document).trigger('test_json_data_loaded');

            console.log(data);
        }
    });
}

$(document).on('test_json_data_loaded', function () {
    $.mobile.changePage('#page_column');
});

当您将
async
设置为
false
时,您基本上是这样做的,即每次发出此AJAX请求时,用户都必须等到所有数据完全加载后,应用程序/网站才能执行/执行任何其他操作…不好。

我找到了原因,AJAX应该设置为“async:false”