本文目录一览:
- 1、php如何接收js传来的json
- 2、php 接收JS过来的JSON数据?
- 3、php如何发送和接收JSON数据
- 4、php 怎么接收前端传来的json数据
- 5、tinkphp中怎么接收json数据
- 6、php如何接收js传来的json对象
php如何接收js传来的json
感觉楼主对json_decode这个函数有点理解错误,这个函数时将一个json格式的字符串转化成php数组用的,前提是其中的参数必须为字符串
那我们回头看下楼主的代码,经过eval以后jsondata变成了一个数组形变量,结构似乎有点奇怪,有5个元素的一个数组,但是每个元素又是一个json对象,而每个json对象又只有一个变量。换句话说如果想获取createvote这个值,那么就需要调用jsondata[0].doing
而且,post发送的数据要求是json对象,而楼主这个根本就是不是json...能否发送都是个问题...
楼上那个说$_POST获取数据的,我试了一下,似乎不行。$_POST['doing']压根就是个未定义的值
如果要json_decode那就没必要先eval一下,感觉会弄巧成拙
给楼主一个代码
js:
var data='{"doing":"createvote","type":"type","num":"num","votetheme":"votetheme","creater":"loginname"}';
$.post(url, {data:data}, function(res) {alert(res)});
注意data变量,‘与“的位置,不要写反,反了的话json_decode是不能编译的
php:
?php
if(isset($_POST["data"]))var_dump(json_decode($_POST["data"], true));
?
根据返回的格式很明显就是一个php的array格式
post的参数必须是name-value的格式,如果单纯post一个变量,那么就相当于只有value,没有name,所以我这里将post的传参值写为{data:data}第一个data是name,第二个data是之前定义的字符串
php 接收JS过来的JSON数据?
用php处理json数据,需要用json_decode函数转成json对象,再取其属性的值.
完整的php程序如下
php如何发送和接收JSON数据
对于json,PHP有对应的方法进行操作。
一般而言,json会以字符串形式传给PHP脚本,一般都是放在$_POST里面,
14
?php
// 接收
$json_parameter = $_POST['json_str'];
// 处理, 变成数组
$array = json_decode($json_parameter);
// PHP 把数组数据变成json格式字符串,发给页面
$demo = array(
'key' = 'value',
'key2' = 'value2'
);
$demo_json = json_encode($demo); // 格式是{"key":"value","key2":"value2"}
echo $demo_json;
php 怎么接收前端传来的json数据
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//这里获取的直接就是数组了,不需要用到json_decode
echo $d['doing'];
//print_r($d);
exit;
}
?
tinkphp中怎么接收json数据
接收无非就是post和get两种方式,传来的json接收写法原始的就是$_GET/POST['前台id
名称'];thinkPHP3中的写法我记得还有Request::post/get('id名称');thinkPHP5好像有个助手函数:直接这样写就可以了input('id名称');接收完看你需要,可以json_decode();转换,也可以不转
还有什么问题可以去后盾人看看,而且这种类型的还有很多!保证让你大吃一惊!哈哈!
php如何接收js传来的json对象
你无法传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;
}