未能在Chrome中加载resource+$.ajax调用

Failed to load resource + $.ajax call in Chrome

本文关键字:resource+ ajax 调用 加载 Chrome      更新时间:2023-09-26

我在Chrome和AJAX方面遇到了一个非常奇怪的问题,我有一个自动完成表单已经工作了一段时间。我今天早上启动了Visual Studio,但它已经不起作用了。它在生产中运行良好(使用Chrome),如果我使用Firefox或IE,在本地运行良好,但对于Chrome,它没有!

我得到错误:

无法加载资源

在开发人员工具中,当我扩展错误时,我得到:

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年9月2日)。我相信我的Chrome是今天早上启动电脑时更新的,但我不确定。有没有日志可以告诉我的chrome何时更新?

如果您正在处理代码的本地副本,请确保您在本地主机等web服务器中工作。如果您直接从文件系统工作,出于安全原因,googlechrome将不允许您对文件系统上的文件进行ajax请求。

还有一些事情

删除此:

contentType: "application/json; charset=utf-8",

您不是在发送json,而是在发送GET请求。相反,添加此

dataType: "json",

以便jQuery期望接收json。

让您的服务器返回标头,使用正确的字符集utf-8将contentType设置为application/json也可能有所帮助。