8

フォームを作成し、それを使用して任意のサイトへの POST 要求を実行できます。FORM メソッドは非同期ではないため、ページの読み込みがいつ完了したかを知る必要があります。内部にフォームがある iframe を使用してこれをいじってみましたが、成功しませんでした。

何か案は?

編集

残念ながら、応答データを制御することはできません。XML、json から単純なテキストまでさまざまです。

4

5 に答える 5

12

onloadのイベントをキャプチャできますiframe。iframe をターゲットにformして、onload をリッスンします。ただし、イベントだけで、iframe のコンテンツにはアクセスできません。

次のようなことを試してください:

<iframe id='RS' name='RS' src='about:blank' onload='loaded()'></iframe>

<form action='wherever.php' target='RS' method='POST'>...</form>

スクリプト ブロック:

var loadComplete = 0
function loaded() {
    //avoid first onload
    if(loadComplete==0) {
        loadComplete=1
        return()
    }
    alert("form has loaded")
}
于 2009-01-21T21:21:09.453 に答える
2

クロス ドメイン リクエストを作成する場合は、JSON 呼び出しを行うか、サーバー側のプロキシを使用する必要があります。サーバー側のプロキシは簡単に設定できますが、人々がそれを避ける理由はよくわかりません。その中にルールを設定して、人々がプロキシを使用して他のことを要求できないようにします。

于 2009-01-22T16:10:27.460 に答える
1

クロス ドメイン ポストから返されたデータが JSON の場合、データを返す URI を指すスクリプト タグを動的に追加できます。ブラウザはその「スクリプト」をロードし、他の JavaScript からアクセスできるようになります。

于 2009-01-21T21:12:42.623 に答える
0

YUI3IOオブジェクトはクロスドメイン リクエストを提供しますが、これはページに埋め込まれた小さな Flash コントロールを使用して行われます。

JavaScript からの安全なクロスドメイン リクエストに関する作業が行われていますが、現時点では、Flash や Silverlight などのプラグインをブリッジとして使用してリクエストを行う必要があります。

于 2009-01-21T21:25:46.277 に答える
-7

JavaScript を使用してクロスドメインを実行することはできません。PHP や asp などのバックエンド言語を使用する必要があります。

于 2009-01-21T21:14:36.567 に答える