IE上的主要JQuery错误无法重现 - 在这种情况下我能做些什么来解决这个bug?

时间:2010-05-28 01:15:35

标签: jquery ajax debugging internet-explorer

我希望能在这个问题上得到一些帮助。 IE上的一些用户报告了这个javascript问题,但我无法重新生成它。

从本质上讲,对于IE类用户的某些类,游戏不起作用(或$ .ajax()不起作用)。

我所知道的:

  • 我换了一个ajax调用(ajax_init_trainer)并使用带有一些请求参数的标准链接来进行初始化,ppl似乎已经通过了问题,直到他们点击下一个ajax调用。

我在某处读到IE做疯狂缓存,所以你需要使url唯一,这就是我添加_requestno参数的原因。但是,设置cache:false也可以这样做。对于抱怨的人来说,这并不能解决问题。

function done(res, status) {
       var data = JSON.parse(res.responseText);
       hide_loading();
       if (status == "success") {
               window.location.href="/bamo/battle/?{{ fb_sig}}";
       }
       else {
           display_alert("Problem!",data.msg,$("#notifications"));
       }
};

$(".monster_select_class").click(function() {
       $(this).attr("src","{{MEDIA_URL}}/bamo/button_select_click.png");
       monster_class = $(this).attr("monster_class");
       monster_type = $(this).attr("monster_type");
       ajax_init_trainer(monster_class,monster_type);
   });

function ajax_init_trainer(trainer_class,monster_type) {
       var data = {trainer_class:trainer_class,monster_type:monster_type};
       var d = new Date();
       var args = { type:"POST",url:"/bamo/api/init_trainer/?_requestno="+d.getTime(),data:data,contentType:"application/json;", dataType: "json",cache:false,complete:done};
       $.ajax(args);
       return false;
};

2 个答案:

答案 0 :(得分:1)

我在IE上总是遇到类似问题,因为有些“。”要么 ”;”不合时宜或遗失......通常,IE 7是抱怨者......

上面的文字是一个提示:)

  

顺便说一句:你有测试的链接吗?   你的问题?

答案 1 :(得分:1)

我遇到了类似的问题。事实证明,我将服务器设置为使用IE无法理解的文本编码:“UTF8”。我将其更改为“UTF-8”并解决了这个问题。这在http响应头中设置。如果响应头有编码IE无法识别,Fttzzt。

我不知道这是你遇到的问题,但这是你可以检查的。

如果涉及$ .ajax失败的事情,那么在使用IE时,肯定会仔细查看请求和响应标头是什么。使用http://www.fiddler2.com/fiddler2/