你无法传json对象到服务端交互的,要传的只是一个字符串(Json),是个字符串!
你发的代码里是json的解析,没有多大意义,你在php页面这样调试
var_dump($_REQUEST)//输出所有数据,如果存在的话,你会看到那个参数是啥
另外,json格式,主要方便javascript解析的,而不是php擅长的内容,多数情况下,是PHP返回json数据给js.
php的数组操作函数有主要的两个json_encode()与json_decode()
从你的代码中,我不确定你用何种方式通信,ajax?
我看你用到了jQuery,那里面有个ajax,方式类似这样的:
$.ajax({type: "post", //methodcan 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
}
你的josn对象,传给js的时候,就变成对象了比如:var test = json
//json = {"name":"中文字符串","sex":"男"}
想要得到name就用test.name即可
注意,这里用的是jquery
代码如下:$.each(rData.rows,function(){alert(this.PK_NoticeID)//用this.你那些字段alert(this.cell[0])})后台返回的数据是{'id':1,'name':'st','grant':[{'tm_id':1,'tm_name':'zc'},{'tm_id':2,'tm_name':'ww'}]}前台获取vardata=eval("("+json+")")//json为接收的后台返回的数据;varid1=data.grant[0].tm_idvarname1=data.grant[0].tm_namevarid2=data.grant[1].tm_idvarname2=data.grant[1].tm_name