Kullanımı $('#form').serialize()
, ben bir PHP sayfası üzerinden bu göndermek başardı. Şimdi nasıl PHP ile unserialize mı? Bu jQuery tefrika edildi.
Sen jquery serialize yöntemi PHP şey unserialize zorunda olmamalıdır. Eğer verileri seri Eğer bir POST ajax isteği kullanarak eğer bir GET yöntemi ajax isteği veya sonrası değişkenler kullanıyorsanız, bu sorgu parametreleri gibi PHP gönderilmesi gerekmektedir. Yani PHP, sen istek türüne bağlı olarak $ _POST gibi değerleri ["Değişkenadı"] veya $ _GET ["Değişkenadı"] erişmek istiyorum.
Serialize yöntemi sadece form elemanları alır ve dize şeklinde koyar. "Değişkenadı = val & var2'ye = val2"
Sunucu (size () `jQuery serialize kullanıyorsanız gerekiyorsa) şöyle bir dize almak şartıyla:
"param1=someVal¶m2=someOtherVal"
... Böyle bir şey muhtemelen ihtiyacınız olan:
$params = array();
parse_str($_GET, $params);
$params
sonra beklediğiniz nasıl modellenmiş bir dizi olmalıdır. Bu HTML dizileri ile de çalışır unutmayın.
See the following for more information: http://www.php.net/manual/en/function.parse-str.php
Bu faydalı olur. İyi şanslar!
/ / JQuery Mesaj
var arraydata = $('.selector').serialize();
/ / Jquery.post tefrika var - TO - PHP Array biçimi
parse_str($_POST[arraydata], $searcharray);
print_r($searcharray); // Only for print array
/ / Bunu herhangi aynı olsun
Array (
[A] => 1
[B] => 2
[C] => 3
[D] => 4
[E] => 5
[F] => 6
[G] => 7
[H] => 8
)
Ben kullandığınız jQuery hangi sürümünü bilmiyorum, ama bu jquery 1.3 benim için çalışıyor:
$.ajax({
type: 'POST',
url: your url,
data: $('#'+form_id).serialize(),
success: function(data) {
$('#debug').html(data);
}
});
Then you can access POST array keys as you would normally do in php.
Just try with a print_r()
.
Ben bildiğim kadarıyla işe yaramaz ki, bir nesnenin özelliği tefrika formu değer sarma düşünüyorum.
Bu yardımcı olur umarım!
Bu user1256561 için cevapta olduğunu. Senin fikrin için teşekkürler .. ancak ben step3 belirtilen url decode şeyler halledilir değil.
işte başka herkes ihtiyacı varsa, tefrika form verilerini çözecektir php kodudur. Bu arada, kendi takdirine bağlı olarak bu kodu kullanabilirsiniz.
function xyz($strfromAjaxPOST)
{
$array = "";
$returndata = "";
$strArray = explode("&", $strfromPOST);
$i = 0;
foreach ($strArray as $str)
{
$array = explode("=", $str);
$returndata[$i] = $array[0];
$i = $i + 1;
$returndata[$i] = $array[1];
$i = $i + 1;
}
print_r($returndata);
}
Özellik1 = değer1 & özellik2 = value2 & attribute3 = değer3 ve böylece
üzerinde: url sonrası veri girişi gibi olacak
Yukarıdaki kod çıkışı hala bir dizi olacak ve bunu istediğiniz herhangi bir değişkene atanmış olsun bunu değiştirebilir ve size daha fazla bu verileri nasıl kullanmak istediğinize bağlıdır.
Array
(
[0] => attribute1
[1] => value1
[2] => attribute2
[3] => value2
[4] => attribute3
[5] => value3
)
Ben onun değerlerinden formu adlarını ayırmak gerektiğini düşünüyorum, bunu yapmak için bir yöntem olsun böylece (&)
patlayabilir attribute=value,attribute2=value
.
Benim buradaki nokta PHP diziler içine tefrika jQuery dize dönüştürmek olacaktır.
Burada daha spesifik olmak için izlemeniz gereken adımlar olduğunu.
jQuery
to a PHP
page(e.g ajax.php
)
where you use $.ajax
to submit using post or get.(&)
thus separating each
attributes. Now you will get attribute1=value, attribute2=value, now
you will get a php array variable. e.g$data =
array("attribute1=value","attribute2=value")
foreach
on $data
and explode
the (=)
so that you can
separate the attribute from the value, and be sure to urldecode
the value so that it will convert serialized values to the value
that you need, and insert the attribute and its value to a new array
variable, which stores the attribute and the value of the serialized
string.Daha fazla açıklık ihtiyacınız varsa bana bildirin.