1. Pertanyaan:
Backend tidak dapat menerima data yang dikirim oleh $ http.post di angularjs, dan selalu ditampilkan sebagai nol
Kode contoh:
$ http.post (/admin/keyValue/getListByPage, {pageIndex: 1, pageSize: 8}) .success (function () {alert ("mrjing");});Kode tidak salah, tetapi data tidak dapat diterima di latar belakang. Mengapa ini?
Menggunakan Pemantauan Firefox: Parameter dalam format JSON
Gunakan Google Monitoring: Metode transfer parameter adalah muatan permintaan
Dapat ditemukan bahwa metode transfer parameter adalah muatan permintaan, format parameter adalah JSON, dan bukan transfer parameter formulir, jadi di latar belakang, parameter tidak dapat diterima dengan menerima data formulir.
Saat mengirimkan permintaan Formulir Posting, tipe konten yang digunakan adalah aplikasi/X-WWW-Form-Burlencoded, dan jika permintaan pos yang menggunakan asli AJAX tidak merujuknya.
Untuk header permintaan tetap, tipe konten default adalah teks/polos; Charset = UTF-8, dan tipe konten di sini adalah:
-----------------------------------------------------------------------------------------------------------------------------
2. Solusi:
Langsung unggah kode:
//The parameter to be passed through post var data = {pageindex: 1,pagesize: 8,},//The address of post request url = "/admin/KeyValue/GetListByPage",//Change the parameter passing method to formpostCfg = {headers: { 'Content-Type': 'application/x-www-form-urlencoded' },transformRequest: function (data) {return $ .param (data);}}; // Kirim permintaan posting untuk mendapatkan data $ http.post (url, data, postcfg) .success (function (response) {warting ("mrjing");});Selanjutnya, mari kita lihat alat pemantauan:
Pemantauan Firefox: Jenis parameter telah menjadi data formulir
Pemantauan Google:
Sekarang metode transmisi parameter telah menjadi metode formulir, dan backend dapat menerima parameter secara normal!
Di atas adalah pengetahuan yang relevan tentang alasan mengapa data yang dikirim oleh $ http.post di AngularJS tidak dapat diterima oleh backend. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!