我希望我的PHP Web服务有POST
3个参数。其中一个是数组,所以我首先使用JSON.stringify()
然后将其添加为参数。问题是,PHP没有收到stringify'ed参数。
我的数组是通过获取对象中每个元素的ID来创建的。
将其转换为字符串:
var cid = JSON.stringify(cids);
在cid
的控制台中输出:
["1","2","3"]
我的$http.post
电话:
var dataObj = {
wid: wid,
type: type,
cid: cid
};
$http.post("my.php", dataObj);
根据我的理解,数组被转换为一个字符串,必须得到与其他字符串类似的POST,但当我回显$_POST['cid']
时,它变成空白;而wid
& type
是正确的。
答案 0 :(得分:2)
根据我的理解,无论如何所有帖子数据都会转换为JSON。手动将数组更改为JSON并包含与以下内容相同:
$http.post("my.php", {
wid: wid,
type: type,
cid: [1, 2, 3]
}
在连接的另一端,如果可能,JSON将转换回对象(数组)。 PHP没有打印任何东西,因为数组没有很好地转换为字符串。虽然你应该期待字符串'数组'。尝试回复$_POST['cid'][0]
编辑:
正如评论和this post中所述,需要以下代码才能使PHP和AngularJS一起播放:
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);