如何调试Google Chrome拒绝发送AJAX请求?

时间:2013-04-12 18:16:06

标签: javascript ajax google-chrome jquery

我的应用程序使用jquery 1.7.1。失败的代码如下所示:

    dialog = $("<div>").append($("<form class='ourformstyle'>Loading...</form>"));
    dialog.css({
        position: "absolute",
        top: "50px", 
        left: "50px",
        display: "block",
        zIndex: 3
    });
    $("body").append(dialog);

    dialog.load(uri, function () { 
        alert('success');
    });

“uri”是本地URI,相对于当前页面定义(其值为“AdvertCreate?advertiser = 1&amp; campaign = 4”)。但是在load()函数中,我得到一个看起来像这样的异常:

GET http://icandigital.com:81/icandigital/AdvertCreate?advertiser=1&campaign=4  jquery-1.7.1.min.js:4
  send jquery-1.7.1.min.js:4
  f.extend.ajax jquery-1.7.1.min.js:4
  f.fn.extend.load jquery-1.7.1.min.js:4
  showdialog Adverts:254 [this is the 'dialog.load' line above]

在开发者工具的“网络”标签上,Chrome会将请求的类型显示为“待处理”,状态显示为“(失败)”。服务器似乎没有收到请求。

这个问题出现在最新版本的Chrome(26.0.1410.64)上,但似乎与早期版本有关(未知,但大约在2月初左右)。我不再使用该版本进行测试,但确保该网站现在与当时的情况完全相同,似乎确实存在一些Chrome更新导致它。

因为异常没有说明请求失败的原因,我对如何调试此问题感到茫然。有谁知道获取更多信息的方法?或者可能知道可能导致此类问题的更新内容。

更新

问题是由AdBlock引起的。由于这是一个内部网站,我刚刚通知我的客户他们需要为自己的域名禁用它。

2 个答案:

答案 0 :(得分:2)

没关系。 AdBlock阻止了请求,而不是Chrome中的更改。

答案 1 :(得分:1)

尝试使用其他浏览器,以便您可以向自己证明问题是Chrome。带有firebug插件的Firefox可以为您提供许多与Chrome相同的调试功能。