為什麼從js傳遞的字串數組在php中變成了一個字串,ajax傳遞的,代碼如下:
js端:
var selected = new Array('1','2');
JSON.stringify(selected);
post....
php端:
$selected = json_decode($_POST['selected']);
這樣寫$selected是空的
$selected = $_POST['selected'];
這樣的話$selected便是一個字串,我要的是數組。
求助各位了,折騰好久了。。。
回複討論(解決方案)
var_dump($selected) ; 是什麼結果
echo $_POST['selected'];
貼出結果!
echo $_POST['selected'];
貼出結果!
直接就是1,2 然後count($selected)值為1
完整貼出 print_r($_POST['selected']) 結果。
如果 $selected = array(1,2);
不可能count($selected) = 1
應該是2
$a = explode(',', $_POST['selected']);
print_r($a);
$a = explode(',', $_POST['selected']);
print_r($a);
不太想用這個方法,我真正要用到的是字串數組,用符號分割可能會有問題。想用json,可是我不太會,老不對
完整貼出 print_r($_POST['selected']) 結果。
如果 $selected = array(1,2);
不可能count($selected) = 1
應該是2
確實是2,感覺json沒有用對,求協助~
var_dump($selected) ; 是什麼結果
var_dump($selected) ; 是什麼結果
就是1,2 相當於它是一個字串"1,2" 這樣的
JSON.stringify (一個數組參數) 處理過後是一個字串吧?
JSON.stringify (一個數組參數) 處理過後是一個字串吧?
我不太懂 也試過這個沒有用
var selected = new Array('1','2');
selected = JSON.stringify(selected);
然後傳遞 selected
解決了,謝謝各位~