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 策略阻塞

python服务访问ajax调用,CORS错误

angularjs + PHP应用程序中的CORS错误

如果我使用 XMLhttprequest 调用 API,它可以正常工作。但是当我使用 angularjs (1.5.6) 时,我得到了 CORS 错误

chrome 中的 Angularjs 应用程序中的 CORS 错误访问 .NET Web Api

如何处理 Spring Boot、AngularJS 应用程序中的 CORS 错误?