Javascript 未能加载资源+;$。Chrome中的ajax调用
我在Chrome和AJAX方面遇到了一个非常奇怪的问题,我有一个自动完成表单,它已经工作了一段时间。今天早上我启动了VisualStudio,但它不再工作了。如果我使用Firefox或IE,它在生产中(使用Chrome)运行良好,在本地也运行良好,但对于Chrome,它没有 我得到一个错误: 无法加载资源 在开发人员工具中,当我在错误上展开时,我得到:Javascript 未能加载资源+;$。Chrome中的ajax调用,javascript,jquery,ajax,google-chrome,Javascript,Jquery,Ajax,Google Chrome,我在Chrome和AJAX方面遇到了一个非常奇怪的问题,我有一个自动完成表单,它已经工作了一段时间。今天早上我启动了VisualStudio,但它不再工作了。如果我使用Firefox或IE,它在生产中(使用Chrome)运行良好,在本地也运行良好,但对于Chrome,它没有 我得到一个错误: 无法加载资源 在开发人员工具中,当我在错误上展开时,我得到: f.support.ajax.f.ajaxTransport.sendjquery-1.7.1.min.js:4 f.extend.ajaxjq
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);
}
});
此外,还会触发错误事件,statusText属性只是“error”。不是很有帮助。我正在运行Chrome版本:17.0.963.46(我的最新版本是2012年2月9日)。我相信我的Chrome在今天早上启动电脑时更新了,但我不确定。我的chrome何时更新有日志记录吗 如果您正在处理代码的本地副本,请确保您是在web服务器(如localhost)中工作的。如果您直接从文件系统工作,出于安全原因,google chrome将不允许您对文件系统上的文件发出ajax请求 还有几件事 删除此项:
contentType: "application/json; charset=utf-8",
您没有发送json,而是发送GET请求。相反,添加这个
dataType: "json",
因此jQuery希望接收json
使用适当的字符集将contentType设置为
application/json
,这也可能有助于服务器返回头将contentType设置为utf-8
我在IIS中进行了设置,在Visual Studio中我使用了“使用自定义Web服务器”选项,因为我想为图像创建一个虚拟目录,我没有直接使用文件系统。酷。所以它没有发送任何东西?当您通过开发人员控制台手动触发它时会发生什么?如果它从未被调用,那么可能是调用它的代码?所以我接受了你的建议并手动运行了它,但它仍然不起作用。但后来我决定比较IE/Firefox和Chrome的不同之处。我发现当我禁用广告拦截器插件时,它工作了!。我猜有一个插件的更新破坏了代码或它的黑名单,因为我填写的表单创建了一个“广告”,所以我的很多javascript对象名等都有“广告”一词。真奇怪,谢谢你的帮助!