javascript - 链接可以在浏览器中使用并提供 JSON,但不能在 Angular 中使用

标签 javascript json angularjs service controllers

我正在尝试使用 Angular 来获得两个响应。

一、网站使用绿色能源的回应

二,该网站的替代方案是什么。

app.controller('QueryController',['$http',function($http){
var site = this
site.green = []
site.alternatives = []

$http.get('http://api.thegreenwebfoundation.org/greencheck/' + 'www.apple.com').success(function(data){ 
  console.log(data.result);
});

$http.get('http://www.similarsitesearch.com/api/similar/' + 'www.apple.com').success(function(data){ 
  console.log("it worked");
}); }]);

正如您所看到的,这两个链接都提供了 JSON。但是当我尝试运行它时,出现以下错误:

XMLHttpRequest cannot load http://www.similarsitesearch.com/api/similar/www.apple.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 

我希望获得有关正确方法的任何建议,谢谢!!!!

最佳答案

这看起来像是跨域问题。出于安全原因,您的浏览器将阻止对其他域的 ajax 请求。

您可以研究这些网站是否支持 CORS 或者可以使用 JSONP 获取。然而,JSONP 存在一些安全问题,尤其是在与第三方打交道时。

另一种选择是在您自己的域上设置反向代理来发出跨域请求。

关于javascript - 链接可以在浏览器中使用并提供 JSON,但不能在 Angular 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26154561/

相关文章:

javascript - 无法使用请求读取python Rest中的axios数据

javascript - PHP json在JavaScript中自动排序

javascript - 如何使用 typescript 在另一个服务的一个 Angular 服务中使用 $rootScope 定义

json - U-SQL - 从复杂的嵌套 json 文件中提取数据

json - REST 与 Spring 和 Jackson 完整数据绑定(bind)

javascript - 如何仅在 AngularJS 中选中所有复选框中的筛选复选框?

javascript - 函数调用完成后应执行以下代码

javascript - Webpack less-loader 在生产构建中缺少基本路径

javascript - 在 Redux 中使用 getState 是一种反模式吗?

javascript - 数据库断开连接时如何处理Redis session