php如何接收js传来的json对象
在js中的代码如下:varurl="index.php";vardata="[{'doing':'createvote'},{'type':'type'},{'num':...
在js中的代码如下:
var url = "index.php";
var data="[{'doing':'createvote'},{'type':'type'},{'num':'num'},{'votetheme':'votetheme'},{'creater':'loginname'}]";
var jsondata=eval('('+data+')');
for (var i = 1; i <= num; i++) {
var item="item"+i;
var arr={item:$_content_createvote2.find("."+item).val()};
jsondata.push(arr);
}
$.getJSON(url, jsondata, function(res) {
});
那么在php中如何获取这个json对象?
比如这样获取,
$order=$_REQUEST[];//要求这个$order获取的是整个json对象,
$orderarray=json_decode($order);//解析之后$orderarray就是整个多维数组
那么这个$_REQUEST[];的参数应该怎么填?直接填jsondata取不到 展开
var url = "index.php";
var data="[{'doing':'createvote'},{'type':'type'},{'num':'num'},{'votetheme':'votetheme'},{'creater':'loginname'}]";
var jsondata=eval('('+data+')');
for (var i = 1; i <= num; i++) {
var item="item"+i;
var arr={item:$_content_createvote2.find("."+item).val()};
jsondata.push(arr);
}
$.getJSON(url, jsondata, function(res) {
});
那么在php中如何获取这个json对象?
比如这样获取,
$order=$_REQUEST[];//要求这个$order获取的是整个json对象,
$orderarray=json_decode($order);//解析之后$orderarray就是整个多维数组
那么这个$_REQUEST[];的参数应该怎么填?直接填jsondata取不到 展开
1个回答
展开全部
你无法传json对象到服务端交互的,要传的只是一个字符串(Json),是个字符串!
你发的代码里是json的解析,没有多大意义,你在php页面这样调试
var_dump($_REQUEST);//输出所有数据,如果存在的话,你会看到那个参数是啥
另外,json格式,主要方便javascript解析的,而不是php擅长的内容,多数情况下,是PHP返回json数据给js.
php的数组操作函数有主要的两个json_encode()与json_decode();
从你的代码中,我不确定你用何种方式通信,ajax?
我看你用到了jQuery,那里面有个ajax,方式类似这样的:
$.ajax({
type: "post", //method;can be get with post or request
url: "/mySever.php",//php url
error: function(){alert('Error');},
data: {
data1: name,
data2: age,
},
datatype:"json",//json back
timeout: 5000,
success: function(msg)
{
//eval(msg);//parase here
}
});
return false;
}
更多追问追答
追问
我明白你的意思了,我的js代码里面是用了jquery里面发送数据的一个函数getjson,传的数据是jsondata,那如果js就按照我那样写的话,php里面该如何接收这个字符串呢?
追答
你先按我的说的方法测试var_dump($_REQUEST);如无为空,说明数据没上去,如果有数据你还看不懂,那就发出来我看看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询