Jquery Ajax到Web Api CORS不起作用
我有以下jquery代码Jquery Ajax到Web Api CORS不起作用,jquery,cors,asp.net-web-api,Jquery,Cors,Asp.net Web Api,我有以下jquery代码 $('#spam').click(function () { $.ajax({ type: 'GET', url: 'http://www.my-contacts.com/contacts/api/contacts', dataType: 'json', contentType: 'application/json; charset=utf-8', headers: { 'Auth
$('#spam').click(function () {
$.ajax({
type: 'GET',
url: 'http://www.my-contacts.com/contacts/api/contacts',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
headers: { 'Authorization=': 'Bearer ' },
}).done(function () {
alert("success");
})
.fail(function (xhr, textStatus, errorThrown) {
console.log(xhr);
alert("Error:" + xhr);
});
});
浏览器发送带有选项的飞行前请求,并从我与一个名为。下面是标题
**Response Headers view source**
Access-Control-Allow-Head... Authorization, X-Authorization
Access-Control-Allow-Meth... GET, POST, PUT, DELETE, HEAD, OPTIONS
Access-Control-Allow-Orig... *
Cache-Control no-cache
Content-Length 0
Date Fri, 13 Dec 2013 12:01:18 GMT
Expires -1
Pragma no-cache
Server Microsoft-IIS/7.5
X-AspNet-Version 4.0.30319
X-Powered-By ASP.NET
**Request Headers view source**
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Access-Control-Request-He... content-type
Access-Control-Request-Me... GET
Connection keep-alive
Host www.my-contacts.com
Origin http://www.my-promo.com
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0
问题是浏览器应该继续执行GET请求,但什么也没有发生,我从.error Jquery代码中收到并出错
有什么建议吗
编辑
事实证明,上述方法不起作用的原因有很多。然而,最终归结到JQuery不能很好地使用CORS,至少我使用的版本是1.8.2,但我也尝试了1.10
我用密码修改了密码
(function () {
x = new XMLHttpRequest();
x.open('GET', 'http://www.my-contacts.com/contacts/api/contacts', false);
x.onreadystatechange = function () {
if (x.readyState === 4) {
console.info(x.responseText);
}
};
x.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
x.setRequestHeader('Authorization', 'Bearer ' + accessToken);
x.send('');
})();
但此代码不适用于IE或FF。另一方面,铬则可以完美地工作。另外两个给了我一个关于x的错误。如果不查看服务的配置,很难判断出什么是错误的。要让这一切顺利进行真的很棘手。这个链接帮助我深入了解这一点。他正在配置WCF服务,但我认为值得一读
您是否有关于xhr对象、textStatus和errorThrown in.fail的更多详细信息?在使用ajax尝试API请求之前,我总是使用一些工具fiddler、postman rest客户端尝试API请求。。