php前端传过来的json数据丢失 (max_input_vars)
2016-12-29 17:19
351 查看
开发向我反馈,前端业务页面提交数据用js将要传输的数据用json dump后,发给服务器,服务器在loads后发现数据是不全的。
这个问题困扰开发人员和运维人员。首先调整php.ini文件的上传文件数以及上传数据的大小限制参数。调整后发现还是不正常。
后台看到这么一个php.ini里的参数max_input_vars
这个参数默认值为 1000,这个参数的作用就是限制一次提交的表单元素个数不得超过1000,超过的部分不传过去。
那我就想按照这样看,那丢失的数据应该是字典或者列表中的最后几个。但是开发人员说少的部分是深层次的元素。
比如字典是3级。{k1:{x1:{y1:2},x2:2},k2:2} ,这样丢失的部分可能是{y1:2}, 暂且信,必定我没有看到。
那么我们就想都已经处理成json对象了,为什么认为提交的表单元素个数超过1000了!这里我学会了查看前端提交的元素数量的方法,如图:
![](https://images2015.cnblogs.com/blog/893950/201612/893950-20161229171342632-715604610.png)
那么为什么会即使处理成json,还是显示多个form data呢?原因肯定是前端页面在使用js将要提交的数据封装成json对象时就记录了多少个数量,即使封装后也不能改表form data的数量。所以当数量超过服务器php.ini设置限制后,只能接收到json的部分数据。自然loads时就少了。
于是我更改了php.ini 里的max_input_vars= 5000,重启php-fpm数据正常了。
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.4px Tahoma; color: #454545; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.4px Tahoma; color: #454545; background-color: #ffffff }
span.s1 { }
这个问题困扰开发人员和运维人员。首先调整php.ini文件的上传文件数以及上传数据的大小限制参数。调整后发现还是不正常。
后台看到这么一个php.ini里的参数max_input_vars
这个参数默认值为 1000,这个参数的作用就是限制一次提交的表单元素个数不得超过1000,超过的部分不传过去。
那我就想按照这样看,那丢失的数据应该是字典或者列表中的最后几个。但是开发人员说少的部分是深层次的元素。
比如字典是3级。{k1:{x1:{y1:2},x2:2},k2:2} ,这样丢失的部分可能是{y1:2}, 暂且信,必定我没有看到。
那么我们就想都已经处理成json对象了,为什么认为提交的表单元素个数超过1000了!这里我学会了查看前端提交的元素数量的方法,如图:
![](https://images2015.cnblogs.com/blog/893950/201612/893950-20161229171342632-715604610.png)
那么为什么会即使处理成json,还是显示多个form data呢?原因肯定是前端页面在使用js将要提交的数据封装成json对象时就记录了多少个数量,即使封装后也不能改表form data的数量。所以当数量超过服务器php.ini设置限制后,只能接收到json的部分数据。自然loads时就少了。
于是我更改了php.ini 里的max_input_vars= 5000,重启php-fpm数据正常了。
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.4px Tahoma; color: #454545; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.4px Tahoma; color: #454545; background-color: #ffffff }
span.s1 { }
相关文章推荐
- 记一次php后台post数据接收不全错误【max_input_vars】
- json数据在前端(javascript)和后端(php)转换
- json数据在前端(javascript)和后端(php)转换
- 在PHP中怎么接收post过来的JSON数据(可以是接口推送过来的数据)
- php怎么将数据做成json的格式给前端使用?
- PHP POST数组有上限? max_input_vars!
- phpStudy4——前端页面使用Ajax请求并解析php返回的json数据
- PHP从5.3.9开始增加一个变量 max_input_vars 用来限制提交的表单数量
- 【已解决】php前端提交的json格式数据在后端用json_decode解不出来
- PHP content-type为"application/json"的post过来的数据$_POST接受不到的问题
- jquery接收PHP传送过来的JSON格式数据以及处理。
- 获取前端post方式传过来的JSON格式的数据的代码
- php max_input_vars 导致提交数据丢失
- 怎么在SpringMvc拦截器或者request中取得前端传递过来的Json数据
- json数据在前端(javascript)和后端(php)转换
- php返回json数据到html前端
- php中max_input_vars默认值为1000导致多表单提交失败
- json数据在前端(javascript)和后端(php)转换
- 在PHP中怎么接收post过来的JSON数据
- php中max_input_vars默认值为1000导致多表单提交失败