跨域$ http请求AngularJS

Tom*_*Tom 12 json http cross-domain angularjs

我有一个简单的网站,我正在使用AngularJS构建,它调用了json数据的API.

但是,我得到跨域原因问题是否有这个允许跨域请求?

错误:

XMLHttpRequest无法加载http://api.nestoria.co.uk/api?country=uk&pretty=1&action=search_listings&place_name=soho&encoding=json&listing_type=rent.请求的资源上不存在"Access-Control-Allow-Origin"标头.因此不允许Origin'http:// localhost'访问.

  searchByPlaceName: function() { 
        var url = baseurl+'country=uk&pretty=1&action=search_listings&place_name=london'+encoding+type;
         return $http.get(url);
    }
Run Code Online (Sandbox Code Playgroud)

Exp*_*lls 14

似乎api.nestoria.co.uk不允许CORS.它必须设置Access-Control-Allow-Origin标题本身 - 你没有直接控制它.

但是,您可以使用JSONP.该站点允许通过callback查询参数.

$http.jsonp(baseurl+'country=uk&pretty=1&action=search_listings&place_name=london'
    +encoding+type + "&callback=JSON_CALLBACK")
Run Code Online (Sandbox Code Playgroud)

  • 你需要为jsonp提供一个回调函数.$ http.jsonp(url +"&callback = JSON_CALLBACK").success(function(data){console.log(data);}); (5认同)