私はprototypejsが初めてです。プロトタイプで Ajax を使用して、投稿されたフォームからシリアライズされた値を取得する方法を教えてください。
3 に答える
new Ajax.Request('your_ajax_url',{
method:'POST',
parameters:Form.serialize($('your_form_id'))
});
これはあなたが必要とするものですか?
http://prototypejs.org/api/form/serialize
または、ページの読み込みではなく ajax を介してフォームを処理したいですか? それから
「Ajaxを使用して投稿されたフォームからシリアル化された値を取得する方法」サーバーに送信されたシリアル化されたデータがAjax応答に含まれることを期待しているように聞こえますが、応答に含まれるものは完全にサーバー次第です。通常、Ajax リクエストを作成すると、onComplete
ハンドラーは送信したプロパティを気にしません。(およびその他の Ajax コールバック)へのresponse
引数には、オブジェクトを含むプロパティが含まれます。これは、次のように、リクエストがサーバーに送信したものを実際に確認する必要がある場合に役立ちます。onComplete
request
parameters
$('customerdetails').request({
method: 'get',
onComplete: function(response) {
console.log(response.request.parameters); // What you sent to the server
console.log(response.responseText); // What the server sent back to you
console.log(response.responseJSON); // JSON-ified version of what the server sent back
}
});
レスポンスに実際に JSON が含まれていることを Prototype が確認できない場合 (たとえば、レスポンス ヘッダーが正しく設定されていない場合) は、そうresponse.responseJSON
なる可能性があります。null
応答が JSON であることを信頼できる場合は、次のようにすることができます。
onComplete: function(response) {
var jsonObj = response.responseJSON || response.responseText.evalJSON();
// now you can work with jsonObj
}
これが役に立てば幸いです。私はあなたの質問を完全に誤解していませんでした。