XMLHttpRequest无法加载?我正在使用webserver

时间:2016-03-10 14:25:31

标签: angularjs google-chrome xmlhttprequest cors restangular

我使用Restangular在我的角度应用程序中从wordnik api获取资源,我已搜索此站点以寻找此问题的其他答案,主要是答案的重点是使用Web服务器而不是直接访问浏览器中的资源但我已经在使用一个服务器,使用jetbeans IDE的内置服务器,我也在节点上尝试了localhost然后使用gulp,但错误仍然存​​在,这是我完全错误给你一个更好的主意

  

XMLHttpRequest cannot load XMLHttpRequest cannot load http://api.wordnik.com:80/v4/word.json/dog/definations?api_key=a2a73e7b926c…f50eb4ae5&includeRelated=true&includeTags=false&limit=5&useCanonical=false. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

这是我的restangular代码获取资源

var params = {
  limit: "5",
  includeRelated: "true",
  useCanonical:"false",
  includeTags:"false",
  api_key:apiKey
};
var encodedRecword = encodeURI(recword);
var service = WordnikRestangular.all(encodedRecword).all('definations');
service.get("", params).then(function(data) {

   //play with data

});

1 个答案:

答案 0 :(得分:0)

这是一个CORS问题(Mozilla CORS),但我发现另外两个潜在的问题:

  1. var service = WordnikRestangular.all(encodedRecword).all('definitions'); - 必须"定义 tions"而不是"定义 a tions"
  2. 默认情况下,跳过网址Port 80 - 它的端口80
  3. 尝试使用https
  4. 如果这不起作用,请尝试Angulars $http.jsonp直接访问API(JSONp应该可以在没有CORS问题的情况下)。如果问题仍然存在,请告诉我。