AngularJS ajax调用中的CORS错误[重复]
Posted
技术标签:
【中文标题】AngularJS ajax调用中的CORS错误[重复]【英文标题】:CORS error in AngularJS ajax call [duplicate] 【发布时间】:2018-04-07 13:41:30 【问题描述】:1.以下是跨域(CORS)错误的代码。尝试了很多但无法找出错误请帮助。代码在 AngularJS 中 错误是 "phome1.html:78:7 Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://dev.markitondemand.com/MODApis/Api/v2/Lookup/json?input=. (Reason: CORS header 'Access-Control-Allow-Origin' missing) 。”
<script>
(function()
'use strict';
var app=angular.module('MyApp');
app.config(['$httpProvider', function($httpProvider)
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
]);
// Added all header request and response.
app.controller('DemoCtrl', DemoCtrl);
function DemoCtrl($scope,$http)
var self = this;
//document.write("hello");
self.data = null;
self.selectedItem = null;
self.searchText = null;
self.querySearch = function (query)
//document.write();
console.log(escape(query));
$http.get('http://dev.markitondemand.com/MODApis/Api/v2/Lookup/json?input=a').then(function(result)
console.log(result);
);
)();
</script>
【问题讨论】:
【参考方案1】:CORS 错误只能从服务器端解决。这有不同的原因。可能是您的服务器出于安全原因阻止了 OPTIONS 方法,该方法用于获取允许的方法(GET、PUT、POST 等),现代浏览器首先发送 OPTION 请求以获取允许的方法。 所以首先检查一下,您也可以使用“ServletFilter”添加缺少的“Access-Control-Allow-Origin”添加标题,如下所示。
header.add("Access-Control-Allow-Origin","*")
读这个.. https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
【讨论】:
以上是关于AngularJS ajax调用中的CORS错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章
球衣后端 jquery AJAX API 调用中的 Cors 策略阻塞
如果我使用 XMLhttprequest 调用 API,它可以正常工作。但是当我使用 angularjs (1.5.6) 时,我得到了 CORS 错误