簡體   English   中英

在IOS中進行用戶交互之前,Ajax調用不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM