Dim*_*edy 20 ajax cross-domain cors playframework angularjs
在制作跨域Ajax请求时,如何设置Angular以发送正确的标头?
什么对我有用:
经过大约一整天的努力寻找配置我的Angular应用程序以使用CORS的答案后,我终于提出了一个有效的解决方案!假设您已正确设置服务器 - 您需要在客户端上执行的唯一操作是删除应用程序配置中的默认标头.
angular.module('myApp').config(['$httpProvider', function($httpProvider) {
delete $httpProvider.defaults.headers.common['X-Requested-With'];
});
Run Code Online (Sandbox Code Playgroud)
X-Requested-With标头将请求标识为AJAX请求 - 默认情况下不允许跨域.所以我们需要做的就是从我们的默认设置和BOOM中删除它!有用.
对于我们的应用程序,我们使用播放后端(1.2.5) - 我们需要添加的代码行才能实现这一目的:
添加标头以允许跨域请求.请注意,许多浏览器不支持这些功能,并会忽略标头.请参阅浏览器的文档以了解支持它们的版本.
参数:allowOrigin以逗号分隔的允许执行x-domain调用的域列表,或" "表示所有域.allowMethods允许的逗号分隔的HTTP方法列表,或者为所有的null.allowCredentials让浏览器在执行x-domain请求时发送cookie.只有allowOrigin!=" " 才能被浏览器尊重
Http.Response.current().accessControl("*", "GET,PUT,POST,DELETE,OPTIONS",false);
Run Code Online (Sandbox Code Playgroud)