程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php ajax提交post請求出現數組被截斷情況的解決方法,ajaxpost

php ajax提交post請求出現數組被截斷情況的解決方法,ajaxpost

編輯:關於PHP編程

php ajax提交post請求出現數組被截斷情況的解決方法,ajaxpost


一、場景

今天做保存專題商品列表的時候發現,前端明明有2300多條數據,但是實際服務端接受存入數據庫才166條

 

二、解決過程

經過調試發現前端頁面提交post請求時數據量是正確的,但到服務端只能接受到166條。

一開始以為是post請求長度超過限制,不過看了下請求內容才200多K,而post請求默認支持8M以內的數據傳輸。

於是懷疑可能是php內部配置導致的,後來百度了下果不其然發現max_input_vars這個配置項,該配置項是在php 5.3.9版本之後才加入的,目的是為了防止hash沖突。

既然如此那就改下該配置項,默認是1000,改成10000;重啟服務後發現服務端獲取到的數據量是1666,是之前的10倍,正好也是配置項調整之後的倍數。

然而前端傳的數據量是不確定的,就算把max_input_vars設置成10萬,也有可能不夠用,還是另尋他法吧。

 

三、最終解決方法

1、前端將數組轉換成json傳輸,即JSON.stringify(goodsList)

2、服務端接收到並解析$goodsList = json_decode($_POST['goodsList'], true);

3、測試發現前端傳過來的數據服務端都能獲取到,問題圓滿解決

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved