フォームの POST 文字列を傍受して、代わりに AJAX 経由で送信することは可能ですか? $('form').submit() を使用して POST イベントをインターセプトできますが、どこから POST 文字列を取得できるかわかりません。フォームの入力から文字列を再現できましたが、これは疑わしいようです。
8761 次
3 に答える
24
// capture submit
$('form').submit(function() {
var $theForm = $(this);
// send xhr request
$.ajax({
type: $theForm.attr('method'),
url: $theForm.attr('action'),
data: $theForm.serialize(),
success: function(data) {
console.log('Yay! Form sent.');
}
});
// prevent submitting again
return false;
});
Philがコメントで述べたよう.serialize()
に、送信ボタンが含まれていないことに注意してください。送信ボタンの値も必要な場合は、手動で追加する必要があります。
于 2012-08-30T01:49:54.117 に答える
3
もちろんできます - 通常どおりフォームが送信されないようにし、そのデータを取得しPOST
て jQuery 経由で実行します。
$(form).submit(function(event){
// prevents default behaviour, i.e. reloading the page
event.preventDefault();
$.post(
$(this).attr('action'), // the form's action
$(this).serializeArray(), // the form data serialized
function(data)
{
// what you are supposed to do with POST response from server
}
)
});
于 2012-08-30T01:51:27.427 に答える
0
を使用する.serialize()
と、一連のフォーム要素が送信用の文字列として ncode されます。
$('form').serialize()
于 2012-08-30T01:49:59.967 に答える