2013-12-21 67 views
2

我是使用Sencha等HTML框架进行跨平台移动应用程序开发的新手。今天,我已经下载了Sencha Touch 2.3.1,并尝试在下载包附带的examples文件夹中打开索引文件。交叉来源请求只在HTTP中支持 - 访问Sencha触摸示例

令人惊讶的我看不到任何东西,我的控制台日志说

Cross-origin-requests-are-only-supported-in-HTTP 

为bootstrap.json

我已经看到了同样的错误对LUNGO框架的例子一些HTML文件。这可能是什么原因?

我希望所有这些文件都能正确加载,如果我将它们上传到服务器上,但我会在构建应用程序时将js文件作为包装打包,所以这不起作用。

我知道限制JS向不同来源发送请求的Cross Origin Policy,但我不明白为什么在我本地获得这些文件时会发生这种情况。请帮我理解这一点,并解释如何解决这个问题。

+0

,您在一个本地网络服务器访问您的网站?即'localhost /' – roo2

+0

不,我正在访问本地文件系统,即file://并且没有涉及PHP或服务器端脚本。这只是Sencha Touch 2捆绑包 –

+1

的一个例子,这是你的问题!大多数浏览器将不允许请求从JavaScript调用的文件,我建议使用wamp http://www.wampserver.com/en/ – roo2

回答

3

当您使用file://协议打开页面时,浏览器会禁用对其他文件的请求。所以当schena touch试图加载bootstrap.json时,浏览器会抛出该错误。解决的办法是主机上的本地Web服务器您的网站和访问它通过http://localhost/

我建议appache serverwamp if you're on windows

Another answer explains

+1

但是其他一些文件正在工作,只有特定的文件无法正常工作。无论如何,当我在开发之后构建应用程序时,如何才能克服这个问题,在将应用程序安装到手机上时,必须将文件作为应用程序在本地调用 –

+0

看来,一旦构建应用程序,它将使用'http',即使文件在本地托管,所以这不会是一个问题http://www.sencha.com/forum/showthread.php?198987-Touch-2.0.1-Build-app-issue – roo2

相关问题