2017-09-19 16 views
0

問題が発生しました。私は、リダイレクトを持っているAJAX経由でサイトを呼び出すためにしようとしているが、要求が原因「なし 『アクセス制御 - 許可 - 起源』ヘッダ」エラーに失敗します。'Access-Control-Allow-Origin'ヘッダーはありませんが、リダイレクトURLを取得します

XMLHttpRequest cannot load https://somesite.com. Redirect from 'https://somesite.com' to 'https://someothersite.com/index.php' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://anysite.com' is therefore not allowed access.

私が欲しいものさリダイレクトURLはエラー応答に表示されます(これは可変です)。私はそれにアクセスすることはできませんが、それはエラー応答に表示されているので、私はそれがアクセス可能でなければならないと考えているので何とか

  $.ajax({ 
       type: "POST", 
       url: "https://somesite.com" 
      }); 

ありがとうございました。

+0

このリンクを参照してください。既によく説明されています。 '(https://stackoverflow.com/questions/28547288/no-access-control-allow-origin-header-is-present-on-the-requested-resource-err ) ' –

+0

@Legman質問をもう一度読んでください。 –

+0

このエラーメッセージは、ネットワーク開発ツールがスローするようなもので、Web APIのどこからでもアクセスできるものではありません。 (つまり、私はあなたができるとは思わない...) – Kaiido

答えて

0

コールと同じでないドメインに対してAJAXリクエストを実行することはできません。たとえば、https://yoursite.comにAJAXコールを発信した場合、サーバis explicitly allowing itを除いてhttps://anysite.comに電話をかけることはできません。

私はプロキシ経由でリクエストを渡すことをお勧めします。サーバー上でPHP(または他の)ルートを呼び出して、https://somesite.comへのcURLリクエストを行い、結果を得ることができます。

+2

彼は* 'https://someothersite.com/index.php'*を解析したいエラーメッセージをバイパスしないようにしてください。 – Kaiido

+0

実際には遠いサーバーからの応答エラーメッセージではなく、ブラウザの問題です。ブラウザのAPIからエラースタック全体を取得できるかどうかわかりません。 –

+0

cURLを使用してPHPファイルにリクエストを渡し、 'curl_setopt($ ch、CURLOPT_REFERER、" fakesite.com ");でリファラーを偽装することで、エラーを回避する必要があります。' https:// somesiteの管理者のための方法があります。本当の参照元を検出するか、それとも安全ですか?;) – Rivenscryr

関連する問題