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

标签 jquery ajax debugging internet-explorer

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

本质上,对于某些类别的 Windows 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;
};

最佳答案

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

我不知道这是否是您遇到的问题,但您可以检查一下。

如果涉及 $.ajax 失败,那么在使用 IE 时一定要仔细查看请求和响应 header 是什么。使用http://www.fiddler2.com/fiddler2/

关于jquery - IE 上的主要 JQuery 错误无法重现 - 在这种情况下我可以做什么来解决这个错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2926101/

相关文章:

javascript - 动态附加表行时列切换不起作用

jquery - 在 html 中预填充 jQuery 数据

javascript - 在同一个位置显示div内容

javascript - 在 JavaScript 双 for 循环中更新 HTML 进度条?

java - System.out.println()耗时; Java语句?

javascript - 为什么脚本可以一行一行地运行,但不能作为一个整体运行?

javascript - jQuery 嵌套 .each 循环 JSON 成功

javascript - Ajax发送大数据MVC4

PHP:用于调试的函数执行时间

javascript - jQuery 在任何浏览器中都无法在此页面上运行。我不知道为什么!