我使用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
});
答案 0 :(得分:0)
这是一个CORS问题(Mozilla CORS),但我发现另外两个潜在的问题:
var service = WordnikRestangular.all(encodedRecword).all('definitions');
- 必须"定义我 tions"而不是"定义 a tions" Port 80
- 它的端口80 如果这不起作用,请尝试Angulars $http.jsonp
直接访问API(JSONp应该可以在没有CORS问题的情况下)。如果问题仍然存在,请告诉我。