【问题标题】:XMLHttpRequest cannot load? I am using already webserverXMLHttpRequest 无法加载?我已经在使用网络服务器
【发布时间】:2016-06-25 10:55:19
【问题描述】:

我正在使用 Restangular 从我的 Angular 应用程序中的 wordnik api 获取资源,我已经在这个网站上搜索了这个问题的其他答案,主要是答案的重点是使用网络服务器而不是直接访问浏览器中的资源但是我已经在使用服务器,使用 jetbeans IDE 的内置服务器,我也在 node 上尝试了 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

});

【问题讨论】:

    标签: angularjs google-chrome xmlhttprequest cors restangular


    【解决方案1】:

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

    1. var service = WordnikRestangular.all(encodedRecword).all('definitions'); - 它必须是“定义itions”而不是“definations”
    2. 跳过 URL 上的 Port 80 - 默认为 80 端口
    3. 尝试使用 https

    如果这不起作用,请尝试使用 Angulars $http.jsonp 直接访问 API(在没有 CORS 问题的情况下应该可以使用 JSONp)。如果问题仍然存在,请告诉我。

    【讨论】:

    • 谢谢...你是正确的...我的错...有时你只是在错误的地方被抓到,你看不到一直摆在你面前的简单解决方案
    猜你喜欢
    • 1970-01-01
    • 2013-11-17
    • 2014-12-08
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 2013-06-16
    • 2018-01-11
    相关资源
    最近更新 更多