我正在开发一个内部Web应用程序.在IE10中,请求工作正常,但在Chrome中,所有AJAX请求(有很多)都是使用OPTIONS发送的,而不是我给出的任何定义的方法.从技术上讲,我的请求是"跨域".该站点在localhost:6120上提供,我正在向AJAX请求的服务是在57124. 这个关闭的jquery错误定义了问题,但不是真正的修复.
如何在ajax请求中使用正确的http方法?
编辑:
这是在每个页面的文档加载中:
jQuery.support.cors = true;
Run Code Online (Sandbox Code Playgroud)
每个AJAX都是类似的:
var url = 'http://localhost:57124/My/Rest/Call';
$.ajax({
url: url,
dataType: "json",
data: json,
async: true,
cache: false,
timeout: 30000,
headers: { "x-li-format": "json", "X-UserName": userName },
success: function (data) {
// my success stuff
},
error: function (request, status, error) {
// my error stuff
},
type: "POST"
});
Run Code Online (Sandbox Code Playgroud) 我想让我的角应用程序执行$ http.get请求.IE8无处不在.我正在使用最新的Angular(我认为是1.0.6).IE给出的唯一消息是:TypeError:
访问被拒绝.undefined(以前的角度是这个)
我的主机(nodejs)设置为发送cors标头:
res.header('Access-Control-Allow-Origin', '*'); //config.allowedDomains
res.header('Access-Control-Allow-Credentials', true);
res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, X-Requested-By');
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
Run Code Online (Sandbox Code Playgroud)
我试图使用调试工具获取有关错误的更多信息,但是:
Fiddler:没有显示xmlhttprequests - 似乎你可以破解你的NET应用程序来修复它但不知道如何处理我的网页.DebugBar:没有显示这些请求FirebugLite:我试过的2版本被破坏 - 只是随机错误而且没有加载
将主机更改为相同的源可以解决问题所以我认为它正在尝试一些东西,但是人类很难调试.
关于这个的角度帖子似乎已经过时了,我不知道该怎么做.
可能这是一个普遍的问题,可以通过互联网获得,但我得到的是这里.
所以我遵循相同的,并将代码更改为
设置标题
var config = {headers: {
'Authorization': 'XXXYYY token="xxxxxxxx", realm="dash-api"',
"X-Testing" : "testing"
}
};
Run Code Online (Sandbox Code Playgroud)
获取请求调用:
return $http.get(api.host+'/agn/12/adv/1860/cam?status=1', config).then(function (response) {
return {
status:"success",
data:response.data.data.active
};
}, function (error) {
return {
status:"error",
data:error
}
});
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,请求是在方法类型OPTIONS中进行的,并且Authorization请求中未设置令牌.
请帮我解决这个问题,因为我两天都在苦苦挣扎.
非常感谢.

我正在运行一个Angular脚本,该脚本在位于的REST资源上执行$ http.get(...)http://localhost:7700,但它正在从服务于的页面执行http://localhost:4400.我不确定这是否是问题,但它会导致error()回调触发,状态为0,并且数据参数中没有任何内容.关于为什么会发生这种情况的任何想法?