我在Chrome和AJAX中遇到了一個非常奇怪的問題,我有一段已經工作了一段時間的自動完成表單。今天早上我啓動了Visual Studio,並且它不再工作。它可以在Chrome中正常運行(如果我使用Firefox或IE,本地工作正常),但它不適用Chrome。
我得到的錯誤:
Failed to load resource
的開發人員工具,當我在錯誤拓展我得到:
f.support.ajax.f.ajaxTransport.sendjquery-1.7.1.min.js:4
f.extend.ajaxjquery-1.7.1.min.js:4
$.autocomplete.sourceCreate:217
a.widget._searchjquery-ui-1.8.17.custom.min.js:127
a.widget.searchjquery-ui-1.8.17.custom.min.js:127
(anonymous function)jquery-ui-1.8.17.custom.min.js:127
我放在一個斷點在回調函數在服務器上,但它不甚至不會把它交給服務器。錯誤肯定是在客戶端,這裏是客戶端代碼:
$("#LocationTxt").autocomplete({
minLength: 4,
source: function (req, resp) {
$.ajax({
type: "GET",
url: "/Ad/SearchLocations",
data: "term=" + req.term,
contentType: "application/json; charset=utf-8",
success: function (data) {
resp($.map(data, function (value, key) {
return { data: value, label: data[key].Name, value: data[key].Name };
}));
},
error: function (data) {
alert(data.statusText);
}
});
},
select: function (e, ui) {
var cityId = ui.item.data.Id;
$('#AdListing_LocationID').val(cityId);
}
});
而且錯誤事件被觸發,而狀態文本屬性是簡單的「錯誤」。不是很有幫助。我正在運行Chrome版本:17.0.963.46(我擁有截至2/9/2012的最新版本)。我相信我的Chrome在今天早上更新了,當時我啓動了我的電腦,但我不確定。是否有日誌告訴我什麼時候更新了Chrome?
很酷。所以它不發送任何東西?當您通過開發者控制檯手動觸發它時會發生什麼?如果它永遠不會被調用,那麼可能是調用它的代碼? – tkone 2012-02-09 16:25:27
所以我採取了你的建議,並手動運行它,但它仍然無法正常工作。但後來我決定比較IE/Firefox和Chrome之間的不同之處。當我禁用廣告攔截器插件時,我發現它工作!我想有一個更新,該插件打破了代碼或黑名單,因爲我填寫的表單創建了一個「廣告」,所以我的很多JavaScript對象名稱等在其中都有「Ad」這個詞。非常奇怪,但感謝您的幫助! – TheWebGuy 2012-02-09 17:40:04