以下がjQueryを使用して別のページにデータを送信する正しい方法かどうか教えてください。私は初心者で、構文についてよくわかりません。rowData
JSON形式です。ボタンをクリックすると値が渡されます。
$.post("GridValues.jsp", {"rowData": rowData });
以下がjQueryを使用して別のページにデータを送信する正しい方法かどうか教えてください。私は初心者で、構文についてよくわかりません。rowData
JSON形式です。ボタンをクリックすると値が渡されます。
$.post("GridValues.jsp", {"rowData": rowData });
の構文はPOST
、JSP ページが CGI スタイルの URI エンコードされた変数または JSON blob を受け取ることを期待しているかどうかによって異なります。
前者 (より一般的な) の場合、コードは正しいです。rowData
変数は、JSON でデコードする必要がある CGI パラメーターとして表示されます。
$.post
呼び出しが完了した後にクライアント コードに何かを実行させたい場合は、遅延オブジェクトを使用するのが最新の方法です。
$.post(...).done(function(data, textStatus, jqXHR) {
// called on success
}).fail(function(jqXHR, textStatus, errorThrown) {
// called on failure
}).always(function() {
// called in both cases
});
遅延オブジェクトを使用すると、 (別名) ハンドラーの受け渡しのみをサポートする を使用して直接利用できない機能 (.fail
およびコールバック) が公開されることに注意してください。.always
$.post
success
done
のjqXHR
結果を使用して$.post
コールバックを登録する方が、コールバックをパラメータとして AJAX 関連のメソッドに直接渡すよりも柔軟です。これにより、AJAX 呼び出しの開始のみを担当する関数を作成し、結果の処理を担当するハンドラーから完全に切り離されたハンドラーを持つことができます。
あなたのjquery呼び出しはうまくいくはずです。さらに、いつでも jquery API jQuery.postを参照できます。
jQuery.post( URL [, データ] [, 成功(データ, テキストステータス, jqXHR)] [, データタイプ] )
urlリクエストの送信先の URL を含む文字列。
dataリクエストとともにサーバーに送信されるマップまたは文字列。
success(data, textStatus, jqXHR)リクエストが成功した場合に実行されるコールバック関数。
dataTypeサーバーから期待されるデータのタイプ。デフォルト: Intelligent Guess (xml、json、script、text、html)。
それらを試してみて、問題が発生した場合はお知らせください。
$.post("GridValues.jsp", {"rowData": rowData }, function(){} );
と同じです
$.ajax({
type: 'POST',
url: "GridValues.jsp",
data: {"rowData": rowData },
success: function(){}
});
この構文は有効です。
参照: http://api.jquery.com/jQuery.post/
ドキュメントはこの構文を提供します:
jQuery.post( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )
成功ハンドラを含めなくてもよろしいですか?