Bagaimana cara mengatur bidang kustom di header POST saat mengirimkan formulir?
javascript
html
post
http-post
httprequest
Reza Owliaei
sumber
sumber
XmlHttpRequest
maksudmu? Atau hanya posting FORMULIR HTML biasa?Jawaban:
Itu tidak bisa dilakukan - AFAIK.
Namun Anda dapat menggunakan misalnya jquery (meskipun Anda dapat melakukannya dengan javascript biasa) untuk membuat serialisasi formulir dan mengirim (menggunakan AJAX) sambil menambahkan tajuk kustom Anda.
Lihat jquery
serialize
yang mengubah FORMULIR HTML menjadiform-url-encoded
nilai yang siap untuk POST.MEMPERBARUI
Saran saya adalah memasukkan keduanya
sumber
Tetapkan nilai cookie di halaman, lalu baca kembali di sisi server.
Anda tidak akan dapat menyetel tajuk tertentu, tetapi nilainya akan dapat diakses di bagian tajuk dan bukan isi konten.
sumber
Dari dokumentasi FormData :
Dengan
XMLHttpRequest
Anda dapat mengatur tajuk khusus dan kemudian melakukanPOST
.sumber
Sebenarnya cara yang lebih baik untuk melakukannya adalah dengan menyimpan cookie di sisi klien. Kemudian cookie secara otomatis dikirim dengan setiap header halaman untuk domain tersebut.
Di node-js, Anda dapat menyiapkan dan menggunakan cookie dengan cookie-parser .
sebuah contoh:
Sekarang Anda dapat mengakses ini:
Perhatikan bahwa
httpOnly:true
memastikan bahwa cookie biasanya tidak dapat diakses secara manual atau melalui javascript dan hanya browser yang dapat mengaksesnya. Jika Anda ingin mengirim beberapa header atau token keamanan dengan formulir posting, dan tidak melalui ajax, dalam banyak situasi ini dapat dianggap sebagai cara yang aman. Meskipun pastikan bahwa data dikirim melalui protokol aman / ssl jika Anda menyimpan beberapa info terkait pengguna yang sensitif yang biasanya terjadi.sumber
Inilah yang saya lakukan di pub / giok
sumber
Jika Anda menggunakan JQuery dengan plugin Formulir, Anda dapat menggunakan:
Sumber: https://stackoverflow.com/a/31955515/9469069
sumber
Anda dapat menggunakan $ .ajax untuk menghindari perilaku alami
<form method="POST">
. Anda dapat, misalnya, menambahkan acara ke tombol pengiriman dan memperlakukan permintaan POST sebagai AJAX.sumber
Untuk menambah setiap permintaan ajax, saya telah menjawabnya di sini: https://stackoverflow.com/a/58964440/1909708
Untuk menambahkan ke dalam permintaan ajax tertentu, ini 'bagaimana saya mengimplementasikan:
Anda harus menambahkan
meta
elemen di JSP, misalnyaUntuk menambah permintaan pengiriman formulir (sinkron), saya telah menjawabnya di sini: https://stackoverflow.com/a/58965526/1909708
sumber