2017-05-01 6 views
-1

私は本当に数時間研究しましたが、まだ解決策は見つかりませんでした。 jQueryajaxで別のサーバーからデータを取得したいと考えています。私はクロームコンソールでこのエラーメッセージが表示されます。CORSを使用していますが何も助けてくれませんでした

XMLHttpRequest cannot load https://editeddomain.com//somedata.json . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://localhost:63342 ' is therefore not allowed access. The response had HTTP status code 401.

これがアップ私のセットです:

  • PHPStorm 2016.1
  • jQueryのV3.2.1
  • Google Chromeの
  • のFedora 25

これは私がすでに試したことですが、私はまだE同じエラー:

  • <?php header('Access-Control-Allow-Origin: *'); ?>
  • はクローム拡張JetBrains IDE Supportインストールと JetBrainsのように追加クローム拡張Allow-Control-Allow-Origin: *
  • をインストール--disable-web-security
  • でChromeを開始することhttp://*/*

だから、のどれもお勧めしますそれらは私を助け、私はまだエラーメッセージが表示されます。

PS:このツールは、私だけのためである、それはChromeの私のPHPStorm環境

+0

あなたは本当に上のヘッダで動作するはずですこれらのプラグインの代わりにサーバーを使用することをお勧めします。サーバーヘッダーが問題です。スクリプトのその部分をアプリケーションの上部に配置してください。ここでは非常に素晴らしい答えです:http://stackoverflow.com/questions/8719276/cors-with-php-headers – Randy

+0

PHPヘッダーは、トリックを行う必要があります、多分あなたは間違った場所にそれらを入れますか? リクエストがこのヘッダーを受け取ってもよろしいですか? GETリクエストですか? クローム開発ツールの[レスポンス]セクションには、 – Timur

答えて

0

とは異なるウェブサーバ上にインストールされていないとは決してされて理由ですので、--disable-ウェブに加えて、別のパラメータを追加-security:

--user-データ-dirの

。これはGoogleが後の段階で導入されました。

また、この機能を使用するには、Chromeのすべてのインスタンスを閉じて、その中にパラメータを含むインスタンスを開いてください。そして、それはそこに開かれた最初のタブでのみ動作します。安全でないタブを使用していることを示す黄色いバーが表示されます。

+0

ありがとう、これは今私を助けた!私がwebappで公開することに決めたら、もちろんCORSを扱うことができるウェブサーバーを設定します。しかし、今のところquciksolutionはあなたに言ったように私を助けました:) – Sylnois

0

CORSの問題は、すべてのブラウザが異なる解決策を必要としていることです。これまでCORSを統一するまではjsonpを使う方が良いでしょう。

+0

残念ながら、APIはjsonpではなくjsonpを使用しています – Sylnois

+0

私はどのメソッドが許可されているかチェックし、たぶんあなたのAjaxスクリプトを投稿することができます。 – Volt

0

"json"ファイルにこのヘッダーを追加する必要があります。あなたの例では:

https://editeddomain.com//somedata.json < - この応答には正しいcorsヘッダーが必要です。 PHPを使用してjsonファイルのコンテンツを生成して返しますか?はいの場合は、このAPIに

<?php header('Access-Control-Allow-Origin: *'); ?> 

を追加してください。

そして、それは本当にただのファイルであれば、あなたは(同じフォルダに)htaccessファイルではたとえば、Apacheのヘッダーを追加する必要があります。

Header add Access-Control-Allow-Origin "*" 
+0

jsonファイルのコントロールがありません。使用しているAPIです。 – Sylnois

+0

ええ、このAPIはこのヘッダーを設定する必要がありますが、これは動作する方法です。 – Timur

関連する問題