首页 > 编程知识 正文

php获取postjson(php获取post请求的方法)

时间:2023-12-24 01:06:48 阅读:319655 作者:PEVO

本文目录一览:

php怎么接收json数据格式

PHP接收JSON格式的数据

在API服务中,目前流行采用json形式来交互。

给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。

接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!

此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据

查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:

$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。

$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。

在PHP中怎么接收post过来的JSON数据

var allUnivList = [{

"id": 1,

"univs": [{

"id": 1001,

"name": "清华大学"

},

{

"id": 1002,

"name": "北京大学"

}],

"country_id": 0,

"name": "北京"

}]

//比如你传递的是上面这个JSON格式,在PHP端,举个用JQ提交的例子:

$.ajax({

url: "test.php",

type: "post",

data: { allcity: allUnivList},

success: function (data) {

alert(data);

},

error: function () {

alert("系统异常!");

}

});

php读取post的json数据

使用json_decode($json, true)将json字符串转化为php数组:

?php

$json = '{"create": 14275555101,"data":{"object":{"order_no":"123456789","amount":100}},"object":"event"}';

$arr = json_decode($json, true);

if(isset($arr['data']['object']['order_no']))

{

    var_dump($arr['data']['object']['order_no']);

}

if(isset($arr['data']['object']['order_no']))

{

    var_dump($arr['data']['object']['amount']);

}

php怎么写服务端获取 客户端发来的json

如果使用的是HTTP协议的GET方法,数据保存在$_GET数组中.

如果使用的是HTTP协议的POST方法,数据通常保存在$_POST数组中.

注:如果post方法没有指出数据类型,提交的数据可以通过$HTTP_RAW_POST_DATA获取.

找到数据后可以通过json_decode函数处理下即可转换成数组或对象.

PHP使用POST传递json数据的接收与处理问题

前端传给服务器的只是json 格式的字符串,使用json_decode,

mixed json_decode ( string $json [, bool $assoc ] )

var_dump(json_decode($json));

var_dump(json_decode($json, true));

如果不带参数,则返回为对象

带上true时,返回数组

foreach($ARR as $k=$v){

echo 'key='.$k.';value='.$v;

}

单独处理每个key 和对应的value就好

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