[英]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.