[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
2022-07-04 22:07:30
質問
私は非常に単純なangular jsアプリケーションの3つのファイルを持っています。
index.html
<!DOCTYPE html>
<html ng-app="gemStore">
<head>
<script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js'></script>
<script type="text/javascript" src="app.js"></script>
</head>
<body ng-controller="StoreController as store">
<div class="list-group-item" ng-repeat="product in store.products">
<h3>{{product.name}} <em class="pull-right">{{product.price | currency}}</em></h3>
</div>
<product-color></product-color>
</body>
</html>
製品カラー.html
<div class="list-group-item">
<h3>Hello <em class="pull-right">Brother</em></h3>
</div>
app.js
(function() {
var app = angular.module('gemStore', []);
app.controller('StoreController', function($http){
this.products = gem;
}
);
app.directive('productColor', function() {
return {
restrict: 'E', //Element Directive
templateUrl: 'product-color.html'
};
}
);
var gem = [
{
name: "Shirt",
price: 23.11,
color: "Blue"
},
{
name: "Jeans",
price: 5.09,
color: "Red"
}
];
})();
productColorというカスタムディレクティブを使ってproduct-color.htmlをインクルード入力した途端、このエラーが発生するようになりました。
XMLHttpRequest cannot load file:///C:/product-color.html. Cross origin requests are only supported for protocol schemes: http, data, chrome-extension, https, chrome-extension-resource.
angular.js:11594 Error: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'file:///C:/product-color.html'.
何が問題になっているのでしょうか?product-color.htmlのパスの問題でしょうか?
私の3つのファイルはすべて同じルートフォルダにあります。
C:/user/project/
どのように解決するには?
このエラーは、ブラウザから直接 html ドキュメントを開いているために発生しています。これを解決するには、Web サーバーからコードを提供し、localhost でアクセスする必要があります。Apache がセットアップされている場合、それを使用してファイルを提供します。IDE の中には JetBrains IDE や Eclipse などのように Web サーバーが組み込まれているものがあります。
Node.Jsをセットアップしている場合、次のように使用できます。
http-server
. を実行するだけです。
npm install http-server -g
を実行すれば、ターミナルで次のように使えるようになります。
http-server C:\location\to\app
.
関連
-
[解決済み] ローカルファイルの読み込み時に "Cross origin requests are only supported for HTTP." というエラーが発生する。
-
[解決済み】AngularJS がクロスオリジンリソースに対して OPTIONS HTTP リクエストを実行する場合
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] jQuery scroll() は、ユーザーがスクロールを止めたことを検出する。
-
[解決済み] uint8配列をbase64エンコードされた文字列に変換する方法は?
-
[解決済み] javascriptからフィールドを無効とすることはできますか?
-
[解決済み] async-await from functionを使用して非同期関数から値を返すには?重複
-
[解決済み] Chrome DevToolsでソースマップを無効にする
-
[解決済み] JavaScriptの文字列は何バイトですか?
-
[解決済み] $.when.apply($, someArray)は何をするのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ローカルファイルの読み込み時に "Cross origin requests are only supported for HTTP." というエラーが発生する。
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] SVG のテキスト要素の幅を取得する
-
[解決済み] Bootstrap モーダル:トグル時に背景がトップにジャンプする
-
[解決済み] Javascriptのsort()はどのように動作するのですか?
-
[解決済み] 特定のクラスを持たない要素を選択する方法
-
[解決済み] Chrome、Javascript、window.open in new tabについて
-
[解決済み] データ追加時にdivの末尾まで自動スクロールさせるには?重複
-
[解決済み] $.when.apply($, someArray)は何をするのですか?