Angular中使用$http.jsonp發送跨站請求


Angular中使用$http.jsonp發送跨站請求的實踐中,遇到了下面的一些問題:

1. 不是所有返回json格式的url都支持jsonp,服務器端需要支持從url中讀取返回函數並用它封裝json數據。

2. AngularJS v1.6.1中,url中不能包含callback這個參數,而是用jsonpCallbackParam來指定

$http.jsonp('some/trusted/url', {jsonpCallbackParam: 'callback'})

3. 把url加入白名單,否則會遇到瀏覽器同源策略限制的錯誤。

angular.module('mthtran')
.config(function($sceDelegateProvider) {
  $sceDelegateProvider.resourceUrlWhitelist([
    // Allow same origin resource loads.
    'self',
    // Allow loading from our assets domain. 
    'http://query.yahooapis.com/v1/public/**'
  ]);
})

參考鏈接:

http://stackoverflow.com/questions/12066002/parsing-jsonp-http-jsonp-response-in-angular-js

https://docs.angularjs.org/api/ng/service/$http#jsonp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM