jquery yayınlanan dizi alma sorunu yaşıyorsanız

2 Cevap php

hi im trying to post a group of array using jquery post method but , am having trouble getting the value of those array how can i get the values of the array that i have sent ? if somebody could help me i would be grateful....

burada ben yaptım budur:

$(document).ready( function()
    	{
$("#submit_info").click (
    function()
    	{
    			var batchArr= new Array();
    			batchArr=arrPush('batch');
    			var facultyArr= new Array();
    			facultyArr=arrPush('faculty');
    			var levelArr= new Array();
    			levelArr=arrPush('level');
    			var sectionArr= new Array();
    			sectionArr=arrPush('section');
    		        var shiftArr= new Array();
    			shiftArr=arrPush('shift');

    	 $.post("server_side/college_info_insert.php",{
    	 batchArr:batchArr,
    	 facultyArr:facultyArr,
    	 levelArr:levelArr,
    	 sectionArr:sectionArr,
    	 shiftArr:shiftArr },function(data)
    			{
    				alert(data);

    			 });       

    	});





    function arrPush(opt)	
    	{
    	var Arr= new Array();
    			Arr.push($("#"+opt+"_1").val());
    			var count= $("#"+opt).val();
    			var i=0;
    			for(i;i<=count;i++)
    				{
    				if(i==0)
    						{
    						Arr.push($("#txt"+opt).val());
    						}
    				else
    						{
    						Arr.push($("#txt"+opt+i).val());
    						}
    				} 
    				return Arr;
    	}

});

nasıl ben bir sonraki sayfa "college_info_insert.php" in dizi değerlerini alabilirim?

2 Cevap

tamam, yani bu aslında gerçekten ortak bir sorundur. Bu sadece javascript PHP için olduğu gibi-bir dizi göndermek ve kabul sahip olamayacağı belli değil.

varname[]: genellikle böyle şeyler gibi destekleri kullanmak için PHP yazar gerektiren - Sorun PHP bir POST isteği birden çok değer okumak için nasıl bilmiyor olmasıdır.

Yani, temelde dizeleri gibi değişkenleri göndermeniz gerekir. JSON kullanarak tek bir değişken adını kullanarak PHP dizeleri bile karmaşık nesneleri gönderebilirsiniz. Genellikle JSON.stringify veya bu satırlar boyunca bir şey kullanmak istiyorum - ama basit bir dizi varsa bile ihtiyacınız olmayabilir.

. İşte Jquery $ ve yazı kullanarak bulundu sorun / çözüm, tam bir örnek:

Eğer bir dosya var asume myurl.php:

<?php
print_r($_POST);
?>

Ve ayrı bir dosya (ya da konsolda), sen deneyin:

var myarray = Array('some','elements','etc');
var mydata = {postvar1: 'string', postvar2: myarray};
$.post('myurl.php', mydata, function(response) { 
    alert("response: " + response);
});

This doesn't work! sonuç postvar2 sadece "vb" içeriyor olmasıdır.

Çözelti PHP deşifre edilebilir bir JSON dizeye dizi zorlamak olduğunu.

var myarray = Array('some','elements','etc');
var json_array = $.map(myarray,function(n) {
    return '"'+n+'"';
});
var mydata = {postvar1: 'string', postvar2: '['+json_array+']' };
$.post('myurl.php', mydata, function(response) { 
    alert("response: " + response);
});

PHP tarafında AÇIK şimdi kullanmanız gerekir: json_decode($_POST['myarray']); uygun bir dizi sonuç almak için.

Not, bu örnek senin dizide çok basit dizeleri veya numaraları varsayar. Karmaşık nesneleri varsa, özel karakterler, vb kaçan, fazladan tırnak ilgilenecek bir JSON.stringify işlevini kullanmanız gerekecektir

Emin değilim ben soruyu anladım ama bu iş böyle olmaz bir şey varsa

if (isset($_POST['batchArr'])) {
   $batchArr = $_POST['batchArr'];
   // Then populate your html here e.g
   echo $batchArr[0];

}