调试接口取不到POST参数的小细节
2016-08-05 11:59
363 查看
问题说明:
利用类似RESTeasy小工具调试API时偶尔出现一直取不到POST的数据
解决方式:
1、$_POST['paramName']: 只能接收Content-Type: application/x-www-form-urlencoded提交的数据
2、file_get_contents("php://input") :适用大多数类型的Content-type
php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置但php://input 不能用于 enctype="multipart/form-data"。
3、$GLOBALS['HTTP_RAW_POST_DATA']; 总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。
如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。
利用类似RESTeasy小工具调试API时偶尔出现一直取不到POST的数据
解决方式:
1、$_POST['paramName']: 只能接收Content-Type: application/x-www-form-urlencoded提交的数据
2、file_get_contents("php://input") :适用大多数类型的Content-type
php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置但php://input 不能用于 enctype="multipart/form-data"。
3、$GLOBALS['HTTP_RAW_POST_DATA']; 总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。
如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。
相关文章推荐
- curl post参数,接口接收不到数据问题
- curl post参数,接口接收不到数据问题
- Ajax用POST方法传参数,参数提交不到服务器
- cURL通过post传递参数调用飞信接口
- AngularJs的post传递参数action接不到
- AngularJs中$http发送post或者get请求,SpringMVC后台接收不到参数值的解决办法
- 解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
- C#中怎么将XML作为参数post到接口
- Spring MVC后台接收不到POST请求的参数
- 解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- NodeMCU教程 http.post请求及服务端接收不到参数解决方案
- Google Volley 框架 POST请求无效 服务器接收不到参数
- angular的post请求,SpringMVC后台接收不到参数值的解决方案
- application/x-www-form-urlencoded 的contentType,POST数据内容过大,导致tomcat的request取不到参数
- 关于微信 init接口返回的Count和webwxbatchgetcontact post请求的参数Count
- Ajax Post提交事例及SpringMVC注解@RequestMapping取不到参数值解决办法
- Ajax Post提交事例及SpringMVC注解@RequestMapping取不到参数值解决办法
- java 通过Ajax前台传参数 并用 HttpURLConnection Post方式访问对外的接口
- 支付宝即时到账接口,异步回调post请求的接受,Jersey 处理post参数的方法