2015-09-28 54 views
1

我使用的貨幣轉換API fixer.io API在我angularjs網站。過去它運轉良好。但在最近它開始產生下面的錯誤。定影液API報告 - 無法加載沒有「訪問控制允許來源」

的XMLHttpRequest無法加載沒有「訪問控制允許來源」

所以在研究中,我發現了這個事情做CORS。而且他們中的很少人建議使用http.jsonp而不是http.get。但fixer.io不支持http.jsonp格式。

少數也建議使用下面的頭部,其中並沒有幫助config.js。

delete $httpProvider.defaults.headers.common['X-Requested-With'] 

很多人說,這是一個服務器端的事情,並添加一個標題將無濟於事。有沒有辦法從我身邊解決這個問題?或者,如果我切換到支持http.jsonp格式的其他提供商,您認爲它會解決此問題嗎?

編輯

API URL

+0

可以如果可能的話給我提供API網址? –

+0

@PareshGami請看編輯.... – prdtuty

+0

我覺得這個API需要認證 –

回答

1

試試這一個。

<!DOCTYPE html> 
<html> 
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js"></script> 
<body> 

<div ng-app="myApp" ng-controller="MyController"> 

    {{records[0]}} 
    <div ng-repeat="rate in rates"> 
     {{rate.currency}}--{{rate.rate}}<br> 
    </div> 
</div> 

<script> 
var app = angular.module('myApp', []); 

app.controller('MyController', function ($scope,$http) 
{ 
    var url = 'http://api.fixer.io/latest?base=USD&callback=JSON_CALLBACK'; 

    $http.jsonp(url) 
    .success(function(data) 
    { 
     $scope.rates=[]; 

     for(var key in data.rates) 
     { 
      var obj = { 
         "currency":'', 
         "rate":'' 
        }; 

      var value = data.rates[key]; 

      obj.currency=key; 
      obj.rate=value; 

      $scope.rates.push(obj); 
     } 
    }); 
}); 

</script> 

</body> 
</html> 
相關問題