Dengan menggunakan $('#form').serialize()
, saya bisa mengirimkan ini ke halaman PHP. Sekarang bagaimana cara saya unserialize di PHP? Itu serial di jQuery.
php
jquery
serialization
Gene Bean
sumber
sumber
Jawaban:
Anda tidak harus membatalkan pengunaan apa pun dalam PHP dari
serialize
metode jquery . Jika Anda membuat serial data, itu harus dikirim ke PHP sebagai parameter kueri jika Anda menggunakan metode GET permintaan ajax atau memposting vars jika Anda menggunakan permintaan ajax POST. Jadi dalam PHP, Anda akan mengakses nilai suka$_POST["varname"]
atau$_GET["varname"]
tergantung pada jenis permintaan.The
serialize
Metode hanya membutuhkan unsur-unsur bentuk dan menempatkan mereka dalam bentuk string."varname=val&var2=val2"
sumber
serialize
kembali. Lihat jawaban yang sangat populer di bawah ini.Asalkan server Anda menerima string yang terlihat seperti ini (yang seharusnya jika Anda menggunakan jQuery
serialize()
):... sesuatu seperti ini mungkin yang Anda butuhkan:
$params
seharusnya array yang dimodelkan seperti yang Anda harapkan. Perhatikan ini berfungsi juga dengan array HTML.Lihat yang berikut untuk informasi lebih lanjut: http://www.php.net/manual/en/function.parse-str.php
Semoga bermanfaat. Semoga berhasil!
sumber
// jQuery Post
// jquery.post serialized var - TO - PHP Array format
// Kamu mendapatkan hal yang sama
sumber
sumber
Di halaman HTML :
di halaman PHP :
pada kode php ini, kembalikan
f1
bidang.sumber
Mengapa tidak menggunakan array asosiatif, sehingga Anda dapat menggunakannya dengan mudah
Salam
sumber
$i = 0;
Jawaban Murtaza Hussain yang dimodifikasi :
sumber
Cukup lakukan ini
sumber
Saya tidak tahu versi Jquery yang Anda gunakan, tetapi ini berfungsi untuk saya di jquery 1.3:
Kemudian Anda dapat mengakses kunci array POST seperti yang biasa Anda lakukan di php. Coba saja dengan a
print_r()
.Saya pikir Anda membungkus nilai formulir serial di properti objek, yang tidak berguna sejauh yang saya tahu.
Semoga ini membantu!
sumber
Ini sebagai balasan untuk user1256561. Terima kasih atas ide Anda .. namun saya belum mengurus url decode hal-hal yang disebutkan dalam langkah3.
jadi di sini adalah kode php yang akan men-decode data formulir berseri, jika orang lain membutuhkannya. Omong-omong, gunakan kode ini atas kebijakan Anda sendiri.
Input data postingan url akan seperti: atribut1 = value1 & attribute2 = value2 & attribute3 = value3 dan seterusnya
Output dari kode di atas masih akan berada dalam array dan Anda dapat memodifikasinya untuk membuatnya ditugaskan ke variabel apa pun yang Anda inginkan dan itu tergantung pada bagaimana Anda ingin menggunakan data ini lebih lanjut.
sumber
Anda hanya perlu nama atribut nilai dalam bentuk. Contoh:
Bentuk
Javascript
PHP - index.php
sumber
Menggunakan:
Dapatkan array, jangan perlu unserialize;)
sumber
Saya pikir Anda perlu memisahkan nama formulir dari nilainya, salah satu metode untuk melakukan ini adalah dengan meledak
(&)
sehingga Anda akan mendapatkanattribute=value,attribute2=value
.Maksud saya di sini adalah bahwa Anda akan mengubah string jQuery berseri menjadi array di PHP.
Inilah langkah-langkah yang harus Anda ikuti agar lebih spesifik.
jQuery
kePHP
halaman (misalnyaajax.php
) tempat Anda menggunakan$.ajax
untuk mengirim menggunakan pos atau dapatkan.(&)
sehingga memisahkan setiap atribut. Sekarang Anda akan mendapatkan atribut1 = nilai, atribut2 = nilai, sekarang Anda akan mendapatkan variabel array php. misalnya$data = array("attribute1=value","attribute2=value")
foreach
pada$data
danexplode
yang(=)
sehingga Anda dapat memisahkan atribut dari nilai, dan pastikan untukurldecode
nilai sehingga akan mengkonversi nilai serial dengan nilai yang Anda butuhkan, dan masukkan atribut dan nilainya ke variabel array baru, yang menyimpan atribut dan nilai string serial.Beri tahu saya jika Anda membutuhkan lebih banyak klarifikasi.
sumber
Anda dapat menggunakan fungsi ini:
Bagaimana cara menggunakannya
sumber