1

ドメインXでホストされているがドメインYに埋め込まれているJSスクリプトがあります。データをドメインXのページに送り返したいと思います(おそらくPOSTを介して)。

解決策を探してみましたが、見つけた情報のほとんどはjQueryの使用に関するものです。プレーンJavaScriptを介してこれを行うことは可能ですか?クロスサイトスクリプティングの問題について心配する必要がありますか?

基本的に、私はグーグルアナリティクス(データを家に送り返す小さなウィジェット)に似たものを作ろうとしています。データを処理することはできますが、JavaScriptの経験は非常に限られています。

4

1 に答える 1

2

データを送信する最も簡単な方法は、を使用することformです。フォームを作成し、設定actionし、method属性を設定inputし、データを使用してsを追加し、値を設定してから実行できますform.submit()。ユーザーをサイトにリダイレクトしないようにするにtargetは、非表示のiframeの名前を属性に入力する必要もあります。その場合、フォームは「その中に」要約されます。ページはリロードされませんが、ページはiframe(非表示)にロードされます。このメソッドを使用すると、POST要求を実行できます。

GETリクエストのみが必要な場合は、さらに簡単です。JSでImageオブジェクトを作成srcし、リクエストされたURLでフィールドを設定します。このソリューションがどれほどクロスブラウザで安定しているかはわかりませんが、私が覚えている限り、それは機能します。実際、コンテンツをロードする他の要素(スタイル、スクリプト(および評価に応じてコードを配置する))を作成してページに追加できます。

クロスドメインのものについて:

  • GETリクエストの場合、情報を送信および受信できます。
  • POSTリクエストの場合、(私にとっては)レスポンスを取得する方法はありません。

JavaScriptおよびHTMLフォームでのDOM操作について何かを読んで、その仕組みと、JSでのフォーム送信をシミュレートするために何をすべきかを理解することをお勧めします(基本的に最初の2つの段落で説明しました)。

于 2012-12-19T15:44:38.347 に答える