saat ini saya memiliki yang berikut:
$.ajax({
type: 'POST',
url: this.action,
data: $(this).serialize(),
});
Ini berfungsi dengan baik, namun saya ingin menambahkan nilai ke data, jadi saya mencoba
$.ajax({
type: 'POST',
url: this.action,
data: $(this).serialize() + '&=NonFormValue' + NonFormValue,
});
Tapi itu tidak diposting dengan benar. Adakah ide tentang bagaimana Anda dapat menambahkan item ke string serialisasi? Ini adalah variabel halaman global yang tidak spesifik bentuk.
serialization
jquery
Keluar
sumber
sumber
'&NonFormValue=' + NonFormValue
?Jawaban:
Dari pada
Anda mungkin ingin
Anda harus berhati-hati untuk menyandikan URL nilai
NonFormValue
jika mungkin berisi karakter khusus.sumber
encodeURIComponent
untuk memastikan bahwaNonFormValue
tidak memiliki karakter khususMeskipun jawaban matt b akan berfungsi, Anda juga dapat menggunakan
.serializeArray()
untuk mendapatkan larik dari data formulir, memodifikasinya, dan menggunakannyajQuery.param()
untuk mengonversinya menjadi formulir yang dikodekan url. Dengan cara ini, jQuery menangani serialisasi data ekstra Anda untuk Anda.sumber
pertama-tama tidak boleh
menjadi
dan kedua, Anda bisa menggunakan
atau jika tindakan sudah berisi parameter apa pun
sumber
NonFormValue
akan dikirim sebagai parameter URL, bukan dalam data POST. Ini mungkin tidak ideal jika a) apapun yang berjalan pada sisi server mengharapkannya untuk di-POSTING (misalnya menggunakanrequest.POST
alih-alihrequest.REQUEST
di Django), atau b)NonFormValue
adalah sesuatu yang seharusnya tidak muncul di bilah URL atau riwayat baik untuk alasan keamanan atau karena itu adalah nilai sementara.Tambahkan item terlebih dahulu dan kemudian buat serial:
sumber
Jangan lupa Anda selalu bisa melakukan:
dalam bentuk Anda yang sebenarnya, yang mungkin lebih baik untuk kode Anda tergantung pada kasusnya.
sumber
Kami dapat melakukan seperti:
Sebagai contoh:
sumber
Anda dapat menulis fungsi tambahan untuk mengolah data formulir dan Anda harus menambahkan data nonform Anda sebagai nilai data di formulir. Lihat contoh:
Kemudian tambahkan jquery ini untuk pemrosesan formulir
sumber
ini lebih baik:
sumber