为什么从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
解决了,谢谢各位~