【问题标题】:CORS error in AngularJS ajax call [duplicate]AngularJS ajax调用中的CORS错误[重复]
【发布时间】: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>

【问题讨论】:

    标签: angularjs json ajax get cors


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 2015-12-20
      • 2015-07-01
      • 2019-05-15
      • 2015-09-04
      • 2013-07-01
      • 2021-11-10
      • 2016-08-15
      • 1970-01-01
      相关资源
      最近更新 更多