好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

查看更多关于Angular中使用$http.jsonp发送跨站请求的详细内容...

  阅读:38次