2014-10-30 72 views
3

我在使用Angular Js中的$ http.post()發佈數據時遇到此錯誤。Angular js:跨源請求被阻止:同源策略不允許讀取遠程資源

跨源請求被阻止:同源策略不允許在{{post url}}處讀取遠程資源。這可以通過將資源移動到相同的域或啓用CORS來解決。

這是我的代碼:

var ionicAppControllers = angular.module('ionicAppControllers', []); 

ionicAppControllers.config(function($httpProvider) { 
    //Enable cross domain calls 
    $httpProvider.defaults.useXDomain = true; 

    //Remove the header containing XMLHttpRequest used to identify ajax call 
    //that would prevent CORS from working 
    delete $httpProvider.defaults.headers.common['X-Requested-With']; 
}); 


ionicAppControllers.controller('createItemCtrl', ['$scope', '$http', 
    function($scope, $http) { 
     $scope.parts = []; 

     $scope.add = function() { 
      $scope.parts.push({ 
       id: '', 
       code: '', 
       description: ''     
      }); 
     }; 
     $scope.submitItemForm = function(isValid) { 
      if (isValid) { 
       $scope.postdata = {}; 
       $scope.postdata.item = $scope.item; 
       $scope.postdata.description = $scope.description; 
       for (var i in $scope.parts) 
       { 
        for (var j in $scope.parts[i]) 
        { 
         if (j == '$$hashKey') 
         { 
          delete($scope.parts[i][j]); 
          //console.log(j); 
         } 
        } 
       } 
       $scope.postdata.parts = $scope.parts; 
       console.log($scope.postdata); 
       $http({ 
        method: 'POST', 
        url: 'URL', 
        data: $scope.postdata, // pass in data as strings 
        headers: {'Content-Type': 'application/json'} 
       }).success(function(data) { 
        if (data.success) 
        { 
         alert('sucess'); 
        } 
        else 
        { 
         alert('fail'); 
        } 
       }); 
      } 
     }; 
     $scope.add(); 
    }]); 
+0

我不知道它是什麼添加此XML代碼...只是寫刪除錯誤... – Napster 2014-10-30 10:24:31

回答

2

這有沒有關係角度。服務器應用程序應該啓用或允許從任何機器上託管或運行的Angular應用程序生成請求。如果你在本地主機上運行你的應用程序。使用鉻的CORS擴展。如果它來自其他服務器。可以說www.example.com。

服務器代碼必須在前端透視圖上不做任何更改。

請參閱此鏈接。 http://enable-cors.org/server.html

-2

如果你使用ASP MVC並獲得jsonresult你一定要在web.config中

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<system.webServer> 
    <httpProtocol> 
    <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="*" /> 
    </customHeaders> 
    </httpProtocol> 
</system.webServer> 
</configuration> 
+1

他們有沒有提及他們使用ASP.NET MVC的任何地方? – 2017-08-23 07:43:31

相關問題