CORS用のangularjsと設定ヘッダーでhttp依存関係を使用していますが、引き続きエラーが発生しています。次のエラーが表示されるconsole.logを参照してください。AngularJS:CORS issue
XMLHttpRequestは、https://blockchain.info/tobtc?currency=INR&value=1000&cors=trueをロードできません。プリフライト要求への応答がアクセス制御チェックを通過しない:要求されたリソースに「アクセス制御許可」がない。 Origin 'http://127.0.0.1:8080'はアクセスできません。あなたはこのURLで通過した場合
、あなたはそれは、サーバが、あなたが道で...それのリソースにアクセスせたものを追加していないCORS https://blockchain.info/api/exchange_rates_api
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<input type = "button" id ="btcButton" value = "Convert" ng-click= "currencytoBtc()" />
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope,$http,$q) {
$scope.currencytoBtc = function(){
var a = $scope.currency;
var b = $scope.currencyInput;
console.log(a);
console.log(b);
$http({method: 'GET', url: 'https://blockchain.info/tobtc?currency=INR&value=1000&cors=true',
headers:{
'Access-Control-Allow-Origin': '*',
'Content-Type': 'text/plain;charset=UTF-8',
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
'Access-Control-Allow-Headers': 'Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With'
}})
.then(function(d){ console.log("yay",d); })
.catch(function(d){ console.log("nope"); });
}
});
</script>
</body>
</html>
を許可することを知るようになるだろうアクセスコントロール**レスポンス**リクエストへのヘッダー**は、プレフライトが行われる必要がある** **レスポンス**ヘッダーを**リクエストから除外**することを保証します** –
を開始する場所は、サーバー側にヘッダーを設定する必要があります。クライアント側ではありません –
'https://blockchain.info/tobtc?currency = INR&value = 1000'からの応答を見ると、CORSヘッダーを送信しないように見えます。なぜなら、彼らは自分のリソースを"借用 "したくないからです - 'cors = true'リクエストパラメータを追加するアイデアがどこにあるのか分かりませんが、何もしません。 –