[JavaScript] Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
- 2015 3/30
- カテゴリー : 未分類
- Cross-Origin . JavaScript . XMLHttpRequest . XMLHttpRequest cannot load
- コメントを書く
ローカル環境でローカルにある JSON ファイルを $.getJSON しようとすると Chrome では file スキーマは読み込んでくれなくてエラーが発生します。
var jsonFilePath = "./json/sample.json"; $.getJSON(jsonFilePath, function(data){ // do something }); |
エラーメッセージ
XMLHttpRequest cannot load file:///Users/username/Downloads/hoge.json. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource. |
ステージングサーバに設置して http 経由で確認するしかなさそうです。
簡単に確認する方法だと DropBox の Public ディレクトリに設置して、https://dl.dropboxusercontent.com/u/xxx/index.html とかいう URL でアクセスすることで確認できます。
参考情報
- chromeを使用してAjaxの非同期通信ができない。(3593)|teratail
- Cross-Origin XMLHttpRequest – Google Chrome
- jQuery.getJSON() | jQuery API Documentation