导航:首页 > 编程语言 > php获取postjson数据

php获取postjson数据

发布时间:2025-04-16 08:10:53

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

前端传给服务器的只是json 格式的字符串,使用json_decode,
mixed json_decode ( string $json [, bool $assoc ] )

var_mp(json_decode($json));
var_mp(json_decode($json, true));
如果不带参数,则返回为对象
带上true时,内返回数组

foreach($ARR as $k=>$v){
echo 'key='.$k.';value='.$v;
}
单独处理容每个key 和对应的value就好

B. 后端php那里接收到前端post给的json为什么会是转义字符串格式

1,有可能框架对整个参数,进行了转义,反转义一遍即可

2,有可能开启了PHP的自动过滤功能,在php.ini中关闭即可

magic_quotes_gpc=On改为magic_quotes_gpc=Off

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

在PHP中接收POST过来的JSON数据,通常有两种方式。一种是直接使用file_get_contents函数获取原始数据,然后利用json_decode将JSON字符串转换为PHP数组或对象。例如:file_get_contents('php://input');获取数据后,使用json_decode(file_get_contents('php://input'), true)进行解码。另一种方式是通过$_POST超全局变量接收,这种方式需要在发送请求时设置Content-Type为application/json。例如:$_POST['data'],但这种方式并不推荐,因为$_POST通常用于接收表单数据。

下面是一个完整的示例,展示如何在PHP中处理POST过来的JSON数据:

首先,假设前端使用javaScript发送JSON数据,代码如下:

JavaScript代码示例:

function sendData() {
var data = {'zhangsan':'lisi', 'age':18};
var xhr = new XMLHttpRequest();
xhr.open('POST', '/path/to/php/script', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send(JSON.stringify(data));
}

然后在PHP中接收并处理这些数据:

PHP代码示例:

<?php
$jsonData = file_get_contents('php://input');
$data = json_decode($jsonData, true);
echo "接收到的数据:";
print_r($data);
?>

上面的PHP代码首先使用file_get_contents('php://input')获取原始数据,然后通过json_decode将其转换为PHP数组。接着,使用print_r输出数据内容。

这种方式不仅适用于POST请求,也适用于其他HTTP方法。通过这种方式,PHP能够灵活地处理不同来源和格式的数据,增强应用的通用性和可维护性。

D. php怎么接收json类型数据

PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。因此,对型如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默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。

E. php传过来的json数据js怎么调用

<?php
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//这里获取的直接就是数组了,不需要用到json_decode
echo $d['doing'];
//print_r($d);
exit;
}
?>
JS部分代码:
<script type="text/javascript">
$(document).ready(function() {
$("#xx").click(function(){
var url = "test.php";
var str ="{'doing':'createvote','type':'type','num':'num','votetheme':'votetheme','creater':'loginname'}";//json格式字符串
var data = eval('('+str+')');//转换成数组对象,不加这步,那么PHP获取的是字符串。
$.post(url, {'data': data}, function(res) {
alert(res);
});
});
});
</script>

<input id="xx" type="button" value="点击">

F. php 通过curl传递的json数据如何获取

你将$hello直接解析成了jsons 如果服务器端要接收。 你可以在
$hello=json_en......;下一行加上
$data=array('hello'=>$hello);
将curl_setopt($ch,CURLOPT_POSTFIELDS,$hello);改成版curl_setopt($ch,CURLOPT_POSTFIELDS,$data);

在URL端你可以用权var_mp($_POST);

G. 如何用php调用外部接口json数据

一般使用php发送请求,获取返回的数据,进行解析;
<?php
$url="接口地址";
//发送请求获取返回值,file_get_contents只支持get请求,post使用curl
$json = file_get_contents($url);
//把json数据转化成数组
$data = json_decode($json,true);
//打印看看
print_r($data);
?>

阅读全文

与php获取postjson数据相关的资料

热点内容
mac系统删除win10系统文件 浏览:48
cmf游戏文件 浏览:139
word2013批注内容全部 浏览:687
游粉淘这网站怎么样 浏览:257
数控程序g41g42怎么编程 浏览:62
抖音里边转发的文件到哪里了 浏览:437
有双微信功能的手机 浏览:466
不用网络也能上网吗 浏览:247
mysql数据库的url地址 浏览:12
如何复制文件夹中的多个文件名 浏览:52
冯诺依曼数据存在在什么中 浏览:16
多份文件部分内容遭涂黑遮去 浏览:133
哪些质量管理活动需要形成文件 浏览:521
如何适应大数据时代心得 浏览:146
什么是名目数据 浏览:457
文件夹标注 浏览:243
swfupload选择单个文件 浏览:136
blocks提示找不到头文件 浏览:761
在哪里能编程C语言 浏览:425
c程序小学生自助四则运算练习 浏览:551

友情链接