【问题标题】:Origin http://localhost is not allowed by Access-Control-Allow-Origin with xui.js使用 xui.js 的 Access-Control-Allow-Origin 不允许来源 http://localhost
【发布时间】:2013-06-25 02:37:02
【问题描述】:

嗨,我想在 xui 中获取一个带有 xhr 的 json 文件,我的代码是这样的:

function getRequest()
{   
   x$().xhr('http://localhost:8080/DummyServer/login/request/',  
   {
      callback: function() 
      {
         saveLocalStorage(this.responseText);    
      },
   });
}   

我用 safari 控制台检查,我收到这样的错误:

XMLHttpRequest cannot load http://localhost:8080/DummyServer/login/request/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

但是当我使用 coda ide 时没有错误,我想知道为什么。任何人都可以帮助我解决这个 xui.js 吗?

【问题讨论】:

  • 可能是服务器不允许?应该不是问题。
  • 实际上,我为 phonegap 应用程序创建了这个。我只是在 safari 中测试它,我不知道我是否在 phonegap 中尝试过。@MichaelO'Brien

标签: javascript json xui


【解决方案1】:

浏览器强制执行同源策略,以保护网站免受其他网站发出 xhr 请求并像显示自己的内容一样显示其内容。

因此站点 A.com 无法使用 XHR 连接到 B.com,或者: http://A.com 无法连接到 http://sub.A.com localhost:80 无法连接到 localhost:8080

解决此问题的一种方法是使用 JSONP 或 CORS 标头,但 IE

【讨论】:

    【解决方案2】:

    最后我可以用 chrome 做到这一点,我禁用了 AJAX 的跨域安全检查,用这个打开 chrome:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-安全性(在 Windows 中)和所有该功能的运行没有任何详细错误:http://opensourcehacker.com/2010/11/29/disabling-cross-domain-security-check-for-ajax-development-in-google-chrome/

    【讨论】:

      猜你喜欢
      • 2013-04-09
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-14
      • 2012-12-28
      • 2013-07-20
      相关资源
      最近更新 更多