首页 > 编程知识 正文

php怎接收前端传来的json,前端调用php接口

时间:2023-12-27 22:27:01 阅读:325304 作者:XCED

本文目录一览:

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;

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。