`

php获取post国json数据的方法详解

    博客分类:
  • php
阅读更多
ext与PHP交互,ext把json数据post给PHP,但在PHP里面$_post获取不到,$_REQUEST也获取不到,但是通过firedebug看到的请求信息确实是把JSON数据post给了PHP,这什么情况
突然想到了以前接触过flash将图片二进制流传给php,灵机一动用$GLOBALS['HTTP_RAW_POST_DATA']获取到了。

PHP默认只识别application/x-www.form-urlencoded标准的数据类型,因此,对型如text/xml 或者 soap 或者 application/octet-stream 之类的内容无法解析,如果用$_POST数组来接收就会失败!故保留原型,交给$GLOBALS['HTTP_RAW_POST_DATA'] 来接收。

php的HTTP_RAW_POST_DATA
用Content-Type=text/xml 类型,提交一个xml文档内容给了php server,要怎么获得这个POST数据。

The RAW / uninterpreted HTTP POST information can be accessed with: $GLOBALS['HTTP_RAW_POST_DATA'] This is useful in cases where the post Content-Type is not something PHP understands (such as text/xml).
由于PHP默认只识别application/x-www.form-urlencoded标准的数据类型,因此,对型如text/xml的内容无法解析为$_POST数组,故保留原型,交给$GLOBALS['HTTP_RAW_POST_DATA'] 来接收。

另外还有一项 php://input 也可以实现此这个功能
php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。

来看具体的例子吧。
a.htm
<form action="post.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit">
</form>


post.php
<? echo file_get_contents("php://input");?> 
分享到:
评论

相关推荐

    php获取POST数据的三种方法实例详解

    本文将详细讲解三种不同的方法来获取PHP环境中的POST数据。 **方法一:使用`$_POST`或`$_REQUEST`全局数组** 这是最常用的方法,`$_POST`数组用于存储以key-value形式格式化后的POST数据。当用户提交表单或通过...

    laravel 解决后端无法获取到前端Post过来的值问题

    效果如下所示: 刚开始一直获取不到前端传过来的Post的值 一番分析后 发现 通过php 命令新建的控制器默认少引用 ... 您可能感兴趣的文章:解决laravel 表单提交-POST 异常的问题详解将数据从Laravel传送到vue的四种方式

    php语言中使用json的技巧及json的实现代码详解

    在PHP 5.2版本以后,PHP内建了对JSON的支持,提供了`json_encode()`和`json_decode()`两个核心函数,使得在PHP中处理JSON数据变得非常便捷。 1. `json_encode()`函数: 这个函数主要用于将PHP的数据结构(如数组或...

    POST一个JSON格式的数据给Restful服务实例详解

    这段PHP代码将一个关联数组转换为JSON字符串,并作为POST请求的数据发送。同时,我们通过CURLOPT_HTTPHEADER选项设置了"Content-Type"。 以上就是关于如何向RESTful服务实例发送JSON格式数据的详细解释,每一种...

    jquery+json实例

    **jQuery与JSON实战详解** 在Web开发中,jQuery与JSON是一种常见的组合,它们共同为高效的数据交互和页面动态更新提供了强大的支持。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读...

    Android通过json向MySQL中读写数据的方法详解【读取篇】

    首先,我们需要在Android端构建一个HTTP请求,通常使用`HttpURLConnection`或第三方库如`Volley`、`Retrofit`等发起网络请求,向PHP服务器发送GET或POST请求以获取JSON格式的数据。在本例中,可能有一个PHP脚本负责...

    不错的JSON入门教程

    - 例如,jQuery提供的`.getJSON()`方法简化了JSON数据的获取过程。 - **使用示例**: - 使用jQuery获取JSON数据: ```javascript $.getJSON("data.json", function(data) { console.log(data.name); // 输出: ...

    详解iOS通过ASIHTTPRequest提交JSON数据

    总结来说,通过ASIHTTPRequest提交JSON数据主要包括创建请求对象、设置请求头、转换数据格式、设置POST主体以及发送请求等步骤。这个过程清晰地展示了如何在iOS应用中与JSON格式的数据交互,是网络编程中的基础操作...

    JQuery JSON AJAX

    此外,还有`$.get()`和`$.post()`等简化版的AJAX方法,适用于快速实现简单的数据获取或提交。 **jQuery与JSON的结合**:在jQuery中,解析和序列化JSON数据也非常便捷。`$.getJSON()`方法用于向服务器请求JSON数据,...

    php json_encode与json_decode详解及实例

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于Web服务与客户端之间的数据传输。在PHP中,`json_encode`和`json_decode`是两个关键的函数,用于JSON格式的数据处理。 一、`json_...

    php+ajax+json 详解及实例代码

    在服务器端,PHP 接收 AJAX 发送的 POST 数据,将它们组织成一个数组,然后使用 `json_encode` 函数将其转换为 JSON 格式的字符串并返回。 ```php &lt;?php $username = $_POST['username']; $age = $_POST['age']; $...

    .net post请求方法

    - 通过调用 `GetRequestStream()` 方法获取流对象,并将请求体数据写入该流。 3. **处理响应**: - 调用 `GetResponse()` 方法获取响应对象。 - 使用 `StreamReader` 类读取响应流,并将结果返回。 #### 4. ...

    Ajax的post方法的使用

    在上面的例子中,作者最初使用GET方法进行数据传输,但最终选择了POST方法,并且遇到了无法获取到前端传递的数据的问题。经过一番查找后,发现了问题所在:在使用POST方法时,需要在`open`方法之后添加`...

    用Json实现PHP与JavaScript间数据交换的方法详解

    反之,如果需要从JavaScript向PHP传递数据,可以使用`JSON.stringify`方法将JavaScript对象转换为JSON字符串,然后通过AJAX(异步JavaScript和XML)发送到服务器。例如,使用`jQuery`库的`$.ajax`方法: ```...

    php教程 ajax返回 网页特效on数据实例

    ### PHP与AJAX结合实现网页动态效果:JSON数据交互实例 #### 一、引言 在Web开发领域,PHP作为一种广泛使用的服务器端脚本语言,常用于动态网站的开发。而Ajax(Asynchronous JavaScript and XML)则是一种在无需...

    get post jsonp三种数据交互形式实例详解

    示例中,我们创建一个PHP文件接收POST数据并返回计算结果。在JS代码中,`$http.post`用于发起POST请求,传递参数对象(`{a:1, b:2}`)和配置选项(`emulateJSON: true`),表示模拟传统的表单提交。请求成功后,弹出...

    JQuery JSON ajax

    在这个项目中,你可能会看到如何利用jQuery的Ajax方法向服务器发送请求,获取JSON数据,然后在前端动态展示这些数据。通过分析这个示例,你可以更直观地理解这三个技术的结合应用。 总结,jQuery、JSON和AJAX是现代...

    Android通过json向MySQL中读写数据的方法详解【写入篇】

    这个类通常会包含一个方法来执行HTTP POST请求,将JSON数据发送到服务器。以下是一个简单的`JSONParser`类示例: ```java public class JSONParser { static InputStream is = null; static JSONObject jObj = ...

    php获取某一地点的经纬度

    函数首先通过`$this-&gt;input-&gt;post()`方法获取用户提交的地址信息(城市、省份、地区和详细地址),然后使用这些信息构建出调用百度地图API的URL。需要注意的是,API请求中必须包含一个有效的API密钥(key),该密钥...

    C#POST提交工具

    【C# POST 提交工具详解】 C# 是一种由微软公司开发的面向对象的编程语言,广泛应用于构建桌面应用、Web应用以及游戏开发等领域。在Web开发中,POST提交是客户端向服务器发送数据的一种常见方法,常用于提交表单...

Global site tag (gtag.js) - Google Analytics