本文介绍了我可以在跨域json请求中设置标头吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我已经在互联网上做了一些研究,但我没有设法得到关于这个主题的完整的图片。任何人都可以帮助现在和永远解决这个答案? 这是我到目前为止发现的: 可以使用jsonp进行跨域调用。不允许在jsonp调用中更改标头 如果服务器允许,可以与json进行跨域调用。 这是我想要做的: $。ajax({类型:GET, crossDomain:true, beforeSend:function(request){ request.setRequestHeader(Authorization,Bearer+($(#accesstoken)。 val())); }, contentType:application / json; charset = utf-8, url:myJSonServer + encodeURI(operation), dataType: json', cache:false, success:callback, error:function(jqXhr,textStatus,errorThrown){alert(textStatus +:+ errorThrown);} }); 这是发生了什么: 当myJSonServer在同一个域上时,根本没有问题。 当myJSonServer位于另一个域上时,会发送请求, 此承载标头是oAuth2标准的一部分。 我知道这个事实,也许这不是最好的解决方案,在浏览器中设置accessToken。我知道我可以使用代理这种情况。 我只是好奇,如果它是或将可能设置标题跨域json请求? 感谢 - 问题已解决 我使用MVC4并添加crossDomainScriptAccessEnabled = true在web.config中。我认为这是足够的,但apsillers的答案解决了我的问题。我现在添加了这在我的web.config: < system.webServer> < httpProtocol> < customHeaders> < add name =Access-Control-Allow-Originvalue =*/> < add name =Access-Control-Allow-Headersvalue =Authorization/> < / customHeaders> < / httpProtocol> < /system.webServer> 解决方案使用JSONP,无法设置自定义标题。 / p> 对于CORS,服务器必须发送 Access-Control-Allow-Headers 客户。从 HTML5 Rocks CORS页面:Thus, your server must send a Access-Control-Allow-Headers: Authorization to let the browser know it is permissible to send Authorization to the server with the request. Without this sever header, the browser will only send a few common headers with the request and ignore the rest. 这篇关于我可以在跨域json请求中设置标头吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-04 15:39