Home >Backend Development >PHP Tutorial >js传递字符串数组到php

js传递字符串数组到php

WBOY
WBOYOriginal
2016-06-23 14:38:351454browse

为什么从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

解决了,谢谢各位~

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn