2013-04-12 62 views
1

我的應用程序使用jquery 1.7.1。多數民衆贊成失敗看起來像這樣的代碼:如何調試Google Chrome拒絕發送AJAX請求?

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廣告= 1個&運動= 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更新導致該問題的情況。

因爲這個異常讓我沒有跡象表明請求失敗的原因,所以我不知道如何調試這個問題。有誰知道獲取更多信息的方式嗎?或者也許知道可能會導致此類問題的更新內容。

更新

的問題正在被廣告攔截所致。由於這是一個內部網站,我剛剛告知我的客戶他們需要爲其自己的域禁用它。

+0

通常情況下,切換到非縮小版本的jQuery可以很容易地找到像這樣的問題的來源。 –

回答

2

沒關係。 AdBlock阻止了這個請求,根本不是Chrome的變化。

+1

你看到/發現了什麼使問題的根源顯而易見? –

+0

你應該接受你的答案,以避免人們考慮一個不存在的問題... – excentris

+0

@netrunner不幸的是,你不能接受你自己的答案,直到問題已經打開2天。 – Jules

1

嘗試使用其他瀏覽器,以便您可以向自己證明問題是Chrome。帶有Firebug插件的Firefox可以爲您提供很多與Chrome相同的調試功能。

+0

應該提到,我曾試過這個 - 在IE和Firefox都能正常工作,但在下面看到我的答案。這並不是這是AdBlock第一次這樣咬我,所以我應該早點想到它;去年我花了3天的時間來追蹤另一個項目中由於它造成的錯誤。 – Jules