PHP Post获取不到非表单数据的问题解决办法
问题描述
在使用vue-axios向后端post数据时,PHP端获取不到post的数据。
问题解决
修改php.ini配置
找到php.ini配置文件,查找enable_post_data_reading变量,修改为打开状态,注释掉句前分好
; Whether PHP will read the POST data. ; This option is enabled by default. ; Most likely, you won't want to disable this option globally. It causes $_POST ; and $_FILES to always be empty; the only way you will be able to read the ; POST data will be through the php://input stream wrapper. This can be useful ; to proxy requests or to process the POST data in a memory efficient fashion. ; http://php.net/enable-post-data-reading enable_post_data_reading = On //大约656行,修改此条
修改配置后,发现还是不行,继续查阅资料。
获取非表单数据
搜集资料之后,发现vue-axios向后端post的是非表单数据(Ajax不同),在获取非表单数据时需要用php://input
$raw = file_get_contents('php://input');//获取非表单数据 echo $raw;//输出结果
PS:post时前端请求头要设置为
headers: { "Content-type": "application/json; charset=utf-8" }
您可能感兴趣的文章:
- php获取POST数据的三种方法实例详解
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
- PHP利用超级全局变量$_POST来接收表单数据的实例
- PHP之将POST数据转化为字符串的实现代码
- PHP CURL post数据报错 failed creating formpost data
- php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
- 功能强大的PHP POST提交数据类
- PHP模拟post提交数据方法汇总
- 利用PHP fsockopen 模拟POST/GET传送数据的方法
- php post大量数据时发现数据丢失问题解决方法
- 浅谈PHP接收POST数据方式
- php使用socket post数据到其它web服务器的方法
- PHP中使用socket方式GET、POST数据实例
- php程序内部post数据的方法
相关推荐
-
PHP利用超级全局变量$_POST来接收表单数据的实例
利用$_POST超级全局变量接收表单的数据,然后利用echo输出到页面. 下面是代码: <!doctype html> <html> <head> <title>利用超级全局变量$_POST接收表单</title> <meta http-equiv="content-type" contnet="text/html" charset="utf-8"/> </head&g
-
php使用socket post数据到其它web服务器的方法
本文实例讲述了php使用socket post数据到其它web服务器的方法.分享给大家供大家参考.具体实现方法如下: function post_request($url, $data, $referer='') { // Convert the data array into URL Parameters like a=b&foo=bar etc. $data = http_build_query($data); // parse the given URL $url = parse_url(
-
php获取POST数据的三种方法实例详解
php获取POST数据的三种方法 方法一,$_POST $_POST或$_REQUEST存放的是PHP以key=>value的形式格式化以后的数据. 方法二,使用file_get_contents("php://input") 对于未指定 Content-Type 的POST数据,则可以使用file_get_contents("php://input");来获取原始数据. 事实上,用PHP接收POST的任何数据均使用本方法.而不用考虑Content-Type,
-
利用PHP fsockopen 模拟POST/GET传送数据的方法
使用php可以模拟 post 和 get 传送数据到别的网页或站点 $arr=array( 'user'=>'test', 'password'=>'' ); sock_get($post_url,$arr); sock_post($post_url,$arr); //fsocket模拟get提交 function sock_get($url,$query=array()){ $query_str = http_build_query($query); $<span id="_
-
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
本文实例讲述了php使用CURL模拟GET与POST向微信接口提交及获取数据的方法.分享给大家供大家参考,具体如下: php CURL函数可以模仿用户进行一些操作,如我们可以模仿用户提交数据也可以模仿用户进行网站访问了,下面我们来介绍利用CURL模拟进行微信接口的GET与POST例子,例子非常的简单就两个: Get提交获取数据 /** * @desc 获取access_token * @return String access_token */ function getAccessToken()
-
PHP模拟post提交数据方法汇总
使用php模拟post传值虽然在日常生活中用到的不是很多,但是在某些场合还是经常用到的.下面我们小编给大家整理了三种php模拟post传值的方法,file_get_contents.curl和socket. 第一种:file_get_contents来模拟post <php function file_get_contents_post($url, $post){ $options = array( 'http'=> array( 'method'=>'POST', 'content'=
-
php post大量数据时发现数据丢失问题解决方法
解决办法: 在php.ini中将max_input_vars调大改为5000就可以了 原因追查: from的enctype="multipart/form-data" php版本5.6.6 问题:部分POST数据接收不到 追源代码发现是php中max_input_vars配置造成的: 相关函数为rfc1867_post_handler,如果超过长度,则不会调用safe_php_register_variable来进行变量注册 相关堆栈如下 复制代码 代码如下: #0 rfc1867_
-
PHP CURL post数据报错 failed creating formpost data
在做微信卡券使用curl上传logo图片时,发现一个报错: failed creating formpost data 代码中数组如下: $data = array('buffer' => '@test.jpg'); 结合微信给的文档,检查语法,貌似并没有发现什么错误... 经过上网查询和验证,最终发现,问题出现在 @ 这里,如果在 @ 前面加一个 \ 转义下就可以了,在php官方的bugs.php.net中也有提到(本文最后提供网址) 最终代码: $data = array('buffer'
-
php程序内部post数据的方法
本文实例讲述了php程序内部post数据的方法.分享给大家供大家参考.具体实现方法如下: $postData = array(); $postData['data1'] = "testdata1"; $postData['data2'] = "testdata2"; $postData['data3'] = "testdata3"; $url='http://yourdomain/do.php'; $str=""; forea
-
PHP中使用socket方式GET、POST数据实例
1. 使用 PHP 获得网页内容 GET方式 复制代码 代码如下: <?php function socketGet($url, &$ret) { $urlArr = parse_url($url); $host = $urlArr['host']; $port = isset($urlArr['port'])?$urlArr['port']:80; $path = isset($urlArr['path'])?$urlArr['path']:"/"; $fp
-
浅谈PHP接收POST数据方式
通常情况下用户使用浏览器网页表单向服务器post提交数据,我们使用PHP接收用户POST到服务器的数据,并进行适当的处理.但有些情况下,如用户使用客户端软件向服务端php程序发送post数据,而不能用$_POST来识别,那又该如何处理呢? $_POST方式接收数据 $_POST方式是通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量.如使用$_POST['name']就可以接收到网页表单以及网页异步方式post过来的数据,即$_POST只能接收文档类型为Content-Type:
-
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
通过curl_setopt()函数可以方便快捷的抓取网页(采集很方便大笑),curl_setopt 是PHP的一个扩展库 使用条件:需要在php.ini 中配置开启.(PHP 4 >= 4.0.2) //取消下面的注释 extension=php_curl.dll 在Linux下面,需要重新编译PHP了,编译时,你需要打开编译参数--在configure命令上加上"–with-curl" 参数. 1. 一个抓取网页的简单案例: [php] view pla
-
PHP之将POST数据转化为字符串的实现代码
主要用途就是记录POST过来的参数: 以下函数主要原理还是应用递归方式,将多维数组转化为一维数组进行,最后进行数组转字符串处理既可拿到POST过来的数据字符串化: 核心代码: /** * 应用于LOG记录POST参数使用 * * @version 0.0.1 * @Author Chenjl <ciwdream@gmail.com> * * @return string */ function getPostLog(array $_data = array(),$n = ''){ $_gPOS
-
功能强大的PHP POST提交数据类
本文实例为大家分享了PHP功能强大的 POST提交数据类,供大家参考,具体内容如下 <?php class Request{ public static function post($url, $post_data = '', $timeout = 5){//curl $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_POST, 1); if($post_data != ''){
随机推荐
- 高效的获取当前元素是父元素的第几个子元素
- asp jmail发邮件 详细解析第1/2页
- asp取得数组中的最大值的方法
- 浅谈angular4生命周期钩子
- angular内置provider之$compileProvider详解
- Java教程各种接口的介绍
- javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
- JS 使用for循环遍历子节点查找元素
- jQuery DOM插入节点操作指南
- 文件备份vbs脚本
- SQL Server UPDATE语句的用法详解
- 自动生成文章摘要[JavaScript 版本]
- Java自定义简单标签实例
- android编程开发之全屏和退出全屏的实现方法
- c++线程池实现方法
- php 分页类 扩展代码
- C++设计模式之模板方法模式
- Android TextView(圆弧)边框和背景实例详解
- Android实现QQ登录界面遇到问题及解决方法
- 详解Linux文件操作知识点