- 浏览: 90065 次
文章分类
最新评论
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
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");?>
发表评论
-
apache2禁止显示目录列表的方法(转)
2016-03-15 16:22 940apache2禁止显示目录列表的修改方法 时间:20 ... -
php序列化函数数组与对象的方法
2016-03-15 16:13 506php序列化函数数组与对象的方法 时间:2015-1 ... -
ThinkPHP登录功能实例代码详解
2014-08-21 06:38 708分享下ThinkPHP登录功能的实现方法,是采用ThinkP ... -
几个php文件下载实例代码
2014-08-20 06:30 1038一个简单的php文件下载 ... -
php实现文件下载实例代码分享
2014-08-20 06:29 644php实现对文件下载需要http协议基础,php文件下载用到 ... -
php正则表达式入门-常用语法格式
2014-08-18 20:15 511php正则表达式入门-常 ... -
帝国cms如何用自定义函数获取新闻文章数
2014-08-14 21:55 467原文地址:http://www.jbxue.com/cms ... -
PHP生成随机用户名和密码人例子
2014-07-25 06:15 463使用PHP生成随机数可以应用在许多地方,比如可以设计程序的随 ... -
PHP下载文件方法实例教程
2014-07-25 06:14 510PHP下载文件的两种方法与代码分享 转自:http:/ ... -
php读取mysql数据库入门实例
2014-06-26 06:04 542原文链接:http://www.jbxu ... -
php读取sqlite数据库入门实例
2014-06-26 06:03 799分享一个读取sqlite数据的例子,php读取sqlite数 ... -
php curl 伪造IP来源 示例
2014-04-16 06:56 653php curl 太强大了,它不但可以模仿用户登录,还可以模仿 ... -
PHP 获取目录下的图片并随机显示 实例
2014-04-16 06:53 673从一个目录里获取某类 ... -
PHP图片上传代码一例
2014-01-02 06:47 691分享一个php图片上传代码,如下: ... -
PHP数字验证码的例子
2014-01-02 06:46 764在php中实现验证码,关键点在于掌握php gd库与sess ... -
ajax返回json类型的数据 js处理json类型的数据
2013-12-27 07:07 518ajax验证用户名 index_do. ... -
php解析xml
2013-12-27 07:03 5061,index.php <html> & ... -
PHP AJAX实现省市联动
2013-12-27 07:02 6341,province.php <html> ... -
PHP生成HTML静态页面实例代码
2013-12-15 08:21 543功能:从PHP生成HTML静态页面并存储到以年份和月份为名称 ... -
用PHP实现 上一篇、下一篇的代码
2013-12-15 08:18 552主页是index.php;传递的值是id(数据库的主键);文 ...
相关推荐
本文将详细讲解三种不同的方法来获取PHP环境中的POST数据。 **方法一:使用`$_POST`或`$_REQUEST`全局数组** 这是最常用的方法,`$_POST`数组用于存储以key-value形式格式化后的POST数据。当用户提交表单或通过...
效果如下所示: 刚开始一直获取不到前端传过来的Post的值 一番分析后 发现 通过php 命令新建的控制器默认少引用 ... 您可能感兴趣的文章:解决laravel 表单提交-POST 异常的问题详解将数据从Laravel传送到vue的四种方式
在PHP 5.2版本以后,PHP内建了对JSON的支持,提供了`json_encode()`和`json_decode()`两个核心函数,使得在PHP中处理JSON数据变得非常便捷。 1. `json_encode()`函数: 这个函数主要用于将PHP的数据结构(如数组或...
这段PHP代码将一个关联数组转换为JSON字符串,并作为POST请求的数据发送。同时,我们通过CURLOPT_HTTPHEADER选项设置了"Content-Type"。 以上就是关于如何向RESTful服务实例发送JSON格式数据的详细解释,每一种...
**jQuery与JSON实战详解** 在Web开发中,jQuery与JSON是一种常见的组合,它们共同为高效的数据交互和页面动态更新提供了强大的支持。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读...
首先,我们需要在Android端构建一个HTTP请求,通常使用`HttpURLConnection`或第三方库如`Volley`、`Retrofit`等发起网络请求,向PHP服务器发送GET或POST请求以获取JSON格式的数据。在本例中,可能有一个PHP脚本负责...
- 例如,jQuery提供的`.getJSON()`方法简化了JSON数据的获取过程。 - **使用示例**: - 使用jQuery获取JSON数据: ```javascript $.getJSON("data.json", function(data) { console.log(data.name); // 输出: ...
总结来说,通过ASIHTTPRequest提交JSON数据主要包括创建请求对象、设置请求头、转换数据格式、设置POST主体以及发送请求等步骤。这个过程清晰地展示了如何在iOS应用中与JSON格式的数据交互,是网络编程中的基础操作...
此外,还有`$.get()`和`$.post()`等简化版的AJAX方法,适用于快速实现简单的数据获取或提交。 **jQuery与JSON的结合**:在jQuery中,解析和序列化JSON数据也非常便捷。`$.getJSON()`方法用于向服务器请求JSON数据,...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于Web服务与客户端之间的数据传输。在PHP中,`json_encode`和`json_decode`是两个关键的函数,用于JSON格式的数据处理。 一、`json_...
在服务器端,PHP 接收 AJAX 发送的 POST 数据,将它们组织成一个数组,然后使用 `json_encode` 函数将其转换为 JSON 格式的字符串并返回。 ```php <?php $username = $_POST['username']; $age = $_POST['age']; $...
- 通过调用 `GetRequestStream()` 方法获取流对象,并将请求体数据写入该流。 3. **处理响应**: - 调用 `GetResponse()` 方法获取响应对象。 - 使用 `StreamReader` 类读取响应流,并将结果返回。 #### 4. ...
在上面的例子中,作者最初使用GET方法进行数据传输,但最终选择了POST方法,并且遇到了无法获取到前端传递的数据的问题。经过一番查找后,发现了问题所在:在使用POST方法时,需要在`open`方法之后添加`...
反之,如果需要从JavaScript向PHP传递数据,可以使用`JSON.stringify`方法将JavaScript对象转换为JSON字符串,然后通过AJAX(异步JavaScript和XML)发送到服务器。例如,使用`jQuery`库的`$.ajax`方法: ```...
### PHP与AJAX结合实现网页动态效果:JSON数据交互实例 #### 一、引言 在Web开发领域,PHP作为一种广泛使用的服务器端脚本语言,常用于动态网站的开发。而Ajax(Asynchronous JavaScript and XML)则是一种在无需...
示例中,我们创建一个PHP文件接收POST数据并返回计算结果。在JS代码中,`$http.post`用于发起POST请求,传递参数对象(`{a:1, b:2}`)和配置选项(`emulateJSON: true`),表示模拟传统的表单提交。请求成功后,弹出...
在这个项目中,你可能会看到如何利用jQuery的Ajax方法向服务器发送请求,获取JSON数据,然后在前端动态展示这些数据。通过分析这个示例,你可以更直观地理解这三个技术的结合应用。 总结,jQuery、JSON和AJAX是现代...
这个类通常会包含一个方法来执行HTTP POST请求,将JSON数据发送到服务器。以下是一个简单的`JSONParser`类示例: ```java public class JSONParser { static InputStream is = null; static JSONObject jObj = ...
函数首先通过`$this->input->post()`方法获取用户提交的地址信息(城市、省份、地区和详细地址),然后使用这些信息构建出调用百度地图API的URL。需要注意的是,API请求中必须包含一个有效的API密钥(key),该密钥...
【C# POST 提交工具详解】 C# 是一种由微软公司开发的面向对象的编程语言,广泛应用于构建桌面应用、Web应用以及游戏开发等领域。在Web开发中,POST提交是客户端向服务器发送数据的一种常见方法,常用于提交表单...