6

XMLHttpRequest がページをリロードしてはならないので、これは少し逆説的であることはわかっています。

Chrome の最新バージョン、iOS および Android の Safari で試しました。すべて同じ結果です。

ファイルを使用してフォームを送信しています。うまく機能し、宛先サイトはデータを正しく受け取り、表示します。200「OK」を返します。(フェイスブックです)

しかし、私のページは自動的にリロードされます。HTMLフォームと送信ボタンを使用してフォームを送信した場合と同じです。(これは私の最初の問題でした)

Javascriptからの方法は次のとおりです

// Get the form element
var formData = new FormData(document.getElementById("photosubmitform")); 

var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://graph.facebook.com/' + facebookWallId + '/photos', false);
xhr.onload = function(event)
{
    var json = xhr.responseText; // Response, yay!
}
xhr.send(formData); // Sending it, will reload the page on success...
4

2 に答える 2

18

フォームを送信してこれをトリガーする可能性はありますか?return falseonsubmitハンドラーを使用していない場合でも、フォームは送信されます。

于 2013-01-08T21:33:27.690 に答える
4

フォームでボタンのクリックを監視する場合は、event.preventDefault()を使用します。

于 2013-01-08T21:39:14.353 に答える