Chromeのローカルサポートを設定するAJAX要求

2915 ワード

何の問題ですか 
WEB開発の過程で、簡単なデモを書くことが多いです。完全なプロジェクトを開発するわけではありません。
 •新規フォルダ
 •新規作成に必要なファイル
 •Sublime(または他のエディタ)でDEMOのコードを完了します。
 •HTMLファイルをダブルクリックして、直接ブラウザでプレゼンテーションを実行します。 
この時点でDemoにAJAX操作があると、ブラウザがエラーを報告します。 
XMLHttp Request cannot loadfile:///Users/iceStone/Documents/Learning/angular/demo/angular-moviecat/movie/view.html. Cross orgin requests are only supported for protocol schemes:http、data、chrome、chrome-extension、chrome-extension、chrome-extension-resource. 
その理由は簡単です。ブラウザのセキュリティポリシーがfileプロトコルのアクセスアプリケーションを決定しました。XMLHttpRequestオブジェクトを使用できなくなりました。エラーメッセージにもよく説明されています。
Cross orgin requests are only supported for protocol schemes:http、data、chrome、chrome-extension、chrome-extension、chrome-extension-resource. 
クロスドメイン要求は契約のみサポートします。http、data、chrome、chrome-extension、https、chrome-extension-reource 
いくつかのブラウザでは、Firefoxブラウザ、すなわちFilefoxがfileプロトコルのAJAX要求をサポートするように、このような操作が許可されています。 
解決策 
個人的に一番好きなChromeとして、強くて、何も言いませんでした。思いもよらなかったです。ほとんどできなかったので、応援しなければなりません。
 Windows:
•Chromeのショートカット属性を設定し、「ターゲット」の後ろにCallow-file-access-from-filesを追加して、前にスペースがあることに注意して、Chromeを再開すればいいです。
 Mac:
•ブラウザを端末で開くしかない:端末を開けて、次のコマンドを入力してください。open-a「Google Chrome」Calts Cdisable-web-securityを入力して、安全アクセスを遮断できます。 
補足説明 
長期的には、HTTPを通じてあなたのアプリケーションにアクセスする必要があります。HTTPサーバのソフトウェアを設定する必要があります。しかし、入門したばかりの学生にとっては、HTTPサーバ(例えば、Apache、IISなど)を使うのが煩雑で、見ていても身が引きません。
 •IDEを使っている学生には何も言いません。Web開発用のIDEはhttpサーバを内蔵しています。単独で配置する必要はありません。
 •ライト級エディタが好きな学生にとって、例えばSublime TextはデフォルトでHTTPサーバが内蔵されていません。 
次に、SublimeのプラグインSublime Serverを紹介します。このプラグインは静止ファイルHTTPサーバを提供します。具体的な使い方は以下の通りです。
 •Package Control(Sublimeのプラグイン管理ツール)をインストールして、自分でGoogleをインストールしません。
 •Command+Shift+PまたはCtrl+Shift+Pはコマンドパネルを開いて、Package Controlを入力します。Install Package
 •ちょっと待ってください。(この時はプラグインプロバイダのサーバーに接続します。遅くて、壁を背負う可能性があります。)SublimeServerを検索します。
 •インストールが完了したらTool→SublimeServer→Start SublimeServerを通過します。
 •必ずフォルダを開く方法でSublimeを使用しなければなりません。Sublime Serverは正常に使用できません。
 •HTMLファイルを開き、右ボタンメニューからView in SublimeServerを選択すると、HTTPでブラウザからこのファイルにアクセスできます。
 •このオプションが灰色の場合、SublimeServerが起動されていないということです。Tool→SublimeServer→Start Sublime Server 
ここまでです。SublimeでHTTPサーバを使うことができます。 
起こり得る問題 
Start Sublime Serverがポイントできない場合、現在8080ポートが占有されている可能性があります。 
解決方法はプロファイルを開いてポートを他のポートに変更することです。
以下は私の設定です。 

{
  "attempts": 5,
  "autorun": false, //      Sublime     SublimeServer
  "defaultExtension": ".html",
  "interval": 500,
  "mimetypes":
  {
    "": "application/octet-stream",
    ".c": "text/plain",
    ".h": "text/plain",
    ".py": "text/plain"
  },
  "port": 2016 //    
} 
もちろん他のエディタにも同様のプラグインがあります。 
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。