2013-12-21 102 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

相關問題