質問

javascriptでXMLHTTPRequestを使用する場合、.jsファイルがホストされているWebサイトではなく、外部Webサイトに送信したい。現在のサーバーのtest.phpに送信するには、

を使用します
request.open("POST", "test.php", true);

2番目の引数については、別のWebサイトに送信する方法を教えてください。 " example.com/test.php"現在のサーバーでファイルを探し、" http://example.com/test.php"完全に失敗したようです。

役に立ちましたか?

解決

セキュリティ上の理由からできません。 JavaScriptについては、同じ発信元ポリシーをご覧ください。

ブラウザのバグやコーナーケースを悪用する回避策がいくつかありますが、それらの使用は推奨されません。

最良のアプローチは、Ajaxリクエストを受信し、次にHTTPリクエストを他のサーバーに送信するサーバー側プロキシを使用することです。これは、入力をサニタイズし、送信されるリクエストのタイプと接続されるサーバーをホワイトリストに登録することにより、慎重に実装する必要があります。

他のヒント

これは同じ起源ポリシー、私の友人の悪い例のように聞こえます:)

(大部分)XmlHttpRequestを使用して外部Webサイトからデータを取得することはできません。ただし、できることは、SCRIPTタグを動的に作成し、外部アドレスを参照することです。 jQuery は、ajax処理の一部としてこれを機能的にラップします。

サーバーを制御できる場合、このヘッダーをHTTP応答で使用できますが、すべてのブラウザーで機能するとは限りません。

Access-Control-Allow-Origin: *
scroll top