我在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