我在StackOverflow中已经阅读了很多类似的问题,但这些解决方案对我不起作用。 我可以使用Postman(Chrome扩展程序)使用它。我将数据作为' Header'传递。我得到200返回代码。
我需要使用ajax Jquery调用此方法:
$.ajax(apiUri, {
beforeSend: function (xhr, settings) {
xhr.setRequestHeader('Authorization', 'Bearer ' + $('#AccessToken').val());
},
dataType: 'text',
cache: false,
success: function (data) {
console.log(data);
$('#output').text(data);
}
});
但在这种情况下,我收到了一个错误。
在资源服务器端,我已经设置了web.config。
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
答案 0 :(得分:14)
我刚刚进入全局设置
protected void Application_BeginRequest()
{
if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS")
{
Response.Flush();
}
}
并在web.config(system.webserver)设置中进行了一些更改
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept,Authorization" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
然后工作正常:))
由于