簡體   English   中英

如何在Angular JS中啟用CORS

[英]How to enable CORS in angular js

我有一個controller.js

ListNewsCtrl.$inject = ['$http', '$scope', 'datacontext'];
function ListNewsCtrl( $http, $scope, datacontext) {
    $scope.names = [];
    $http.get("http://www.w3schools.com/website/Customers_JSON.php")
                .success(function (response) {$scope.names = response;console.log($scope.names)});
};

我得到了想要的數據。 但是當我轉到另一個站點時,我得到了followinf msg:

XMLHttpRequest cannot load https://URL. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3424' is therefore not allowed access. The response had HTTP status code 404.

我嘗試訪問的信息不需要訪問令牌嗎?

我的答案的解決方案是這樣的:

http://blog.novanet.no/angularjs-with-jsonp-and-how-i-get-to-work-on-time/#2

但是,我收到此錯誤:Uncaught SyntaxError:意外的令牌:我遇到小的語法問題。 但是至少我可以看到我的數據

在服務器端啟用了CORS。 您請求的域不允許進行CORS請求,因此您不能在客戶端上進行編輯或配置。

如果域確實允許CORS,那么無論你使用托管在您的本地Web服務器localhost是不允許的。

如果允許跨站點請求,請嘗試

$http.jsonp("http://www.w3schools.com/website/Customers_JSON.php")
    .success(function(data){
        console.log(data);
});

我不會說這是一種完美的方法,而是針對cors的更好的解決方法

雅虎! 查詢語言是一種類似於SQL的表達性語言,可讓您跨Web服務查詢,過濾和聯接數據。 Yahoo YQL的偉大之處在於它支持CORS :)

Client -> YQL -> API Server

在此處運行示例

 $.getJSON("http://query.yahooapis.com/v1/public/yql", { q: "select * from json where url=\\"https://erikberg.com/mlb/standings.json\\"", format: "json" }, function (data) { if (data.query.results) { alert(data.query.results.json.standing); } else { alert('no such code: ' + code); } } ); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

這是一個很酷的教程

這至少將以不同方式解決您的cors問題。

快樂的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM