更改页面时出现Ajax请求错误
伙计们。我有一个juerymobile多页面,我在更改页面时出现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",
#页面索引
中有一个按钮,当单击它时,将向服务器发送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”