如何设置angularjs的cors来访问外部api?

时间:2014-11-13 07:15:46

标签: angularjs angularjs-scope angularjs-ng-repeat angular-ui angular-ui-router

getjson.controller('controller', function($scope, $http){
  var url = "http://api.8coupons.com/v1/getsubcategory"; 

  $http.get(url).success(function(data, status, headers, config){
    $scope.jsondata = data;
    console.log(data);
  }).error(function(data, status, headers, config){});
});

(编辑注释:在外部函数体中添加了一个右括号。)

此代码给出了以下错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.api.8coupons.com/v1/getsubcategory. This can be fixed by moving the resource to the same domain or enabling CORS.

有人可以告诉我出了什么问题,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

我找到了答案。

var url = "http://api.8coupons.com/v1/getcategory?callback=JSON_CALLBACK";

可能会帮助别人。

如果出现此类错误,请将类型从get / post更改为jsonp

然后在url中附加此参数

 "?callback=JSON_CALLBACK" 

没有引号