欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

js传递字符串数组到php

程序员文章站 2024-02-20 18:44:16
...
为什么从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

解决了,谢谢各位~