[英]Ajax call not working until user interaction in IOS
我正在使用phonegap和jQuery開發應用程序,並且在iOS上執行ajax請求時遇到問題。 我執行請求,服務器上的php接收信息並回顯正確答案。 事實證明,直到我與屏幕進行某種交互(例如滾動)或真正等待太長時間(超過一分鍾)后,我的應用程序才“獲取”信息。 這個問題發展了,一開始只是在幾個請求之后發生,現在第一個ajax已經顯示了它。 我注意到的另一件事是,當取出所有(或幾乎所有)javascript和/或css(奇怪)時,問題消失了,好像是手機內存中的東西一樣。 使用async : false
進行請求時,問題也消失了! 它發生在iPhone 4上。 已在Android和PC(Chrome和Mozilla Firefox)上進行了測試,並且工作正常。
最奇怪的是,當我與屏幕互動時,答案就會出現,它不用等待一秒鍾,幾乎是瞬間的……好像答案已經存在了,但由於某種原因沒有出現。
附:錯誤警告不出現。
jQuery.ajax({
type: 'GET',
url: 'url',
crossDomain: true,
data: {
data: data
},
error: function() {
alert('error');
}
}).done(function(data) {
alert(data);
});
http://api.jquery.com/jQuery.ajax/
如果您想在響應時觸發功能,我將使用complete而不是done。
我的猜測是您沒有取消點擊操作,頁面正在刷新
$(".yourSelector").on("click",function (evt) {
evt.preventDefault();
//your ajax call
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.