1. ホーム
  2. security

[解決済み] XMLHttpRequestがファイルを読み込めません。クロスオリジンリクエストはHTTPのみサポートされています

2022-02-26 08:19:34

質問

以下のエラーが発生します。

XMLHttpRequest cannot load file:///C:/Users/richa.agiwal/Desktop/get/rm_Library/templates/template_viewSettings.html. Cross origin requests are only supported for HTTP. 

この質問が以前に回答されていることは承知していますが、私の問題に対する解決策はまだ見つかっていません。私は chrome.exe --allow-file-access-from-files をコマンドプロンプトから実行し、ファイルをローカルファイルシステムに移動しましたが、まだ同じエラーが表示されます。

何かご指摘がありましたら、よろしくお願いします。

解決方法は?

パソコン上のコードエディターでHTMLやJavascriptを書き、ブラウザで出力を確認するようなことをしていると、おそらく以下のようなエラーメッセージが表示されるでしょう。 Cross Origin Requests . ブラウザはHTMLをレンダリングし、Javascript、jQuery、angularJsをサーバーのセットアップを必要とせずにブラウザ上で実行することができます。 しかし、多くのウェブブラウザはクロスサイトアタックを監視するようにプログラムされており、リクエストをブロックしてしまうのです。 しかし、多くのWebブラウザはクロスサイトアタックを監視するようにプログラムされており、リクエストをブロックしてしまいます。Webブラウザから誰でもハードディスクを読み取れるようになるのは困ります。 Notepad++を使えば、JavascriptやjQuery、angularJsなどのフレームワークを実行する、完全に機能するWebページを作成することができ、Notepad++のメニュー項目を使うだけですべてをテストすることができます。 RUN, LAUNCH IN FIREFOX . しかし、レイアウトやCSS、シンプルなページナビゲーション以上のものを作り始めるとなると、自分のマシンにローカルサーバーをセットアップする必要があります。

私が使っているオプションはこちらです。

  1. Firefoxでウェブページをローカルにテストし、その後ホストにデプロイします。
  2. または ローカルサーバーを起動する

Firefoxでのテスト、ホストへのデプロイ

  1. Firefox は現在、ハードディスクから提供されるファイルからの Cross Origin Requests を許可しています。
  2. ウェブ ホスティング サイトでは、マニフェスト ファイルで設定されたフォルダー内のファイルへのリクエストが許可されます。

ローカルサーバーの実行

  • ApacheやPythonのようなコンピュータ上のサーバーを実行します。
  • Pythonはサーバーではありませんが、簡単なサーバーを動作させます。

Pythonでローカルサーバを起動する

IPアドレスを取得します。

  • Windowsの場合。コマンドプロンプト」を開く。 すべてのプログラム」→「アクセサリ」→「コマンドプロンプト
  • 私はいつも Command Prompt として Administrator . を右クリックします。 Command Prompt というメニュー項目を探し、その中から Run As Administrator
  • コマンドを入力します。 ipconfig と入力し、Enterキーを押します。
  • 探してください。 IPv4 アドレス ... ... ... ... ... ... ... 12.123.123.00
  • あなたのIPアドレスを表示するウェブサイトもあります。

Pythonを持っていない場合は、ダウンロードしてインストールしてください。

コマンドプロンプト」を使って、ウェブページとして提供したいファイルがあるフォルダに移動する必要があります。

  • C:³³のルートディレクトリに戻りたい場合は、cd/と入力してください。
  • .Htmlファイル(またはphpなど)があるフォルダーに移動するには、cd Drive:\FolderFolder╱と入力します。
  • コマンドプロンプトで「path」と入力します。 pythonがあるフォルダのパスが表示されているはずです。 例えば、python が C:\Python27 にある場合、リストされるパスの中にそのアドレスが表示されていなければなりません。
  • Pythonのディレクトリのパスがない場合は、パスを設定する必要があります。type: help path と入力してEnterキーを押してください。 pathのヘルプが表示されます。
  • パス c:\python27 %path% のように入力します。
  • %path%は現在のパスをすべて保持します。 現在のパスをすべて消去するのではなく、新しいパスを追加するだけです。
  • 新しいパスは、ファイルを提供したいフォルダから作成します。
  • Python Serverを起動します。タイプしてください。 python -m SimpleHTTPServer port ここで、'port' は希望するポートの番号で、例えば次のようになります。 python -m SimpleHTTPServer 1337
  • ポートを空欄にすると、デフォルトはポート8000になります
  • Pythonサーバーが正常に起動すると、Msgが表示されます。

ローカルでWebアプリケーションを実行する

  • ブラウザを開く
  • アドレス行にタイプしてください。 http://your IP address:port
  • http://xxx.xxx.x.x:1337 または http://xx.xxx.xxx.xx:8000 はデフォルトの
  • サーバーが動作していれば、ブラウザにファイルの一覧が表示されます
  • 配信したいファイルをクリックすると、表示されるはずです。

より高度なソリューション

  • コードエディターやWebサーバーなど、統合されたサービスをインストールします。

Apache、PHP、Python、SQL、Debuggerなどをすべて別々にマシンにインストールし、それらをすべて一緒に動作させる方法を見つけ出すのに多くの時間を費やすか、それらすべてを組み合わせたソリューションを探すことができるのです。

私はXAMPPをNetBeans IDEと一緒に使うのが好きです。 また、WAMPをインストールすることで User Interface Apacheや他のサービスを管理し、統合するためのものです。