1

我正在使用 django v.1.6 和 dajaxice v.0.6。我遇到了 ajax 在某些运行 Chrome 的 android 设备上无法运行的问题。

据我了解,这是一个缓存问题。自己使用 ajax 的人似乎通过在 ajax 函数中将缓存设置为 false 来解决这个问题。此处的示例显示了您通常如何使用 ajax 来解决此问题。

$.ajax({
       url: "yoururl.html",
          context: document.body,
          cache : false,
          data: {
               username :  $('#username').val(),
               password :  $('#password').val(),
          },
          success: function ( data ) {
              // do something
         }
   }); 

显然,这并不总是像对上一个代码段的回复那样有效,有人回应说,在 jQuery 1.7.1 之后,您可能需要添加一个时间戳,如下所示:

$.ajax( { url: "someserver/somepath/blah" + "?_=" + jQuery.now(), type: "PUT", data: somedata}); 

这是我尝试开始工作的代码示例:

function refresh_word(){
  Dajaxice.game.refreshWord(Dajax.process,{'game_id':{{game.id}},'player_id':{{player.id}}});
}

就像我说的,这适用于 iPhone 和桌面浏览器,但在某些 android 设备上失败。

我抓着稻草,我尝试禁用整个页面的缓存,但它似乎仍然不起作用。

$(document).ready(function() {
  $.ajaxSetup({ cache: false });
});

有没有办法用 dajax 做到这一点?

提前感谢您的帮助!

4

0 回答 0