1

jQuery LOAD関数を使用してフォームのPOSTデータを送信し、フォームのシリアル化されたデータを送信する方法を知りたいです。

だから、例として、私はこれをどのように行うのですか?

$('someElement').click(function(){
    var formData = $('formHere').serialize();
    $('anotherElement').load('somePage', formData);
)};

現状では、これは機能しません。データをPOSTしない場合は、GETリクエストを送信します。$ .postメソッドの使用を開始したくないのですが(使用したくないためです!)、ここで何か間違ったことをしていますか?

解決策:代わりにserialiazeArrayを使用してください-のように

var formData = $('formHere').serializeArray()
4

3 に答える 3

8

簡単:ではなく使用しserializeArray()ますserialize()

serialize()文字列をserializeArray()返しますが、オブジェクトを返します。load()データがオブジェクトの場合、POSTを送信します。データが文字列の場合load()、GETを送信します。

于 2012-08-07T06:05:46.710 に答える
3

jQueryのドキュメントに.load()よると、データ(この場合formDataはオブジェクトです。それ以外の場合はGETを使用します。ただし、のドキュメント.serialize()は文字列を返すことを示しています。したがって、常にGETです。

于 2012-06-17T02:45:37.080 に答える
0

投稿$.postが必要な場合は、を使用してください。そうでない場合は、$。ajaxSettingsを使用してグローバルajaxを構成する必要があります。$.load、、& は$.get()、必要なコードを最小限に抑えるためにすでに処理されているオプションのいくつかを備えた便利なラッパーです。$.getJSON()$.post$.ajax

 $('someElement').click(function(){
    var formData = $('formHere').serialize();
    $.post('somePage', formData, function(data){
        $(selector).html(data);                                
    });
});

APIにはでの使用例があり$(form).serialize()ます$.post

http://api.jquery.com/jQuery.post/

于 2012-06-17T02:55:22.407 に答える