php ajax提交post請求出現陣列被截斷情況的解決方法
一、場景
今天做儲存專題商品列表的時候發現,前端明明有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、服務端接收到並解析
3、測試發現前端傳過來的資料服務端都能獲取到,問題圓滿解決
相關推薦
php ajax提交post請求出現陣列被截斷情況的解決方法
一、場景 今天做儲存專題商品列表的時候發現,前端明明有2300多條資料,但是實際服務端接受存入資料庫才166條 二、解決過程 經過除錯發現前端頁面提交post請求時資料量是正確的,但到服務端只能接受到166條。 一開始以為是post請求長度超過限制,不過看了下請求內容才200多K
Ajax提交post請求返回404錯誤
前臺ajax請求,報錯404;但是後臺卻成功執行; 正常來講,404 not found是沒找到,url錯誤,但這裡卻執行了, 原因 後臺有 return return的值會作為http請求的一個頁面 所以肯定會報找不到錯誤 解決 1 直接去掉return,
ajax的post請求如何讓web或介面的方法支援跨域()
只是方法,如果是伺服器或者整個web,找其他資料只需要加入response.setHeader("Access-Control-Allow-Origin", "*");即可 @ResponseBod
Ajax請求出現406的原因和解決方法
一般出現406錯誤有兩種可能:1、如果字尾是html是不能響應json資料的。需要修改後綴名。 在做偽靜態化過程中,以.html結尾的字尾,做post請求時,不能響應json格式,這是spring官方做出的處理 可以加一個字尾改為.action 2、檢視Ja
php ajax返回資料有換行、空格符的解決方法
$.get('base.php',{action:"idc",sn:data},function(idc_alias){ idc_alias = idc_alias.replace(/\s/g,''); if(typeof(idc_alias) == 'undefine
Django - - 進階 - - AJAX向Django後端提交POST請求
目錄 ajax登入示例 CSRF跨站請求偽造 1,ajax登入示例 urls.py from django.conf.urls import url from django.contrib import admin from app01 import views urlpa
PHP CURL 模擬POST請求 提交資料或上傳檔案
$file = '/doucment/Readme.txt';$ch = curl_init();$post_data = array( 'loginfield' => 'username', 'username' => 'ybb', 'password' => '1
2017年10月18日-php curl get post請求
window check span cnblogs req 總結 比較 小結 cap 一、CURL小結 個人將歸納curl請求總結成三步 1、創建curl 句柄(curl_init),並設置參數(curl_setopt)(打開冰箱)
php-get和post請求
output class ray 工作日 打印 init print bsp clas 1.get請求 <?php //判斷20130101是否是工作日 //工作日對應結果為 0, 休息日對應結果為 1, 節假日對應的結果為 2; $url=‘http://www
提交post請求,參數為xml格式
video from nco 格式 iteye ide -type str res import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;
ajax提交 data中包含陣列時(list),需要加入引數traditional:true
需要加入引數traditional:true,伺服器端提取資料時使用request.POST.getlist("key")獲取到一個數組 $.ajax({ url:"/XXX/", data:{"key":[11,22,33]}, dataType:JSON, t
ajax 中 post 請求 和 get 請求的區別(二)
get 請求 1、傳遞資料方式: 資料直接在post 的 url 中傳遞,直接拼接在 url ? 後面,多個數據用 & 符號拼接 xhr.open('get ‘, 2.get.php?username = Tom & age = 30&’)
form表格提交post請求,到後端變成了get請求,這個坑怎麼填?!
前端的post請求到後端變成了get請求,什麼鬼? 本人在編寫flask伺服器專案過程中,需要從前端接收使用者的登入資訊,將使用者資訊儲存進session和cookie中。 後端程式碼如下: @app.route('/login',methods=['GET','POST']) de
Django呼叫外部js檔案post請求出現403
今天發現一個這個有意思的問題,在html中寫js程式碼功能全部正常使用,但將js程式碼放到js檔案中在呼叫就出現各種問題。 1 首先在使用jQuery動態生成標籤時,建議將自己寫的js檔案放在</body>之後 (要不然部分功能可能會失效) 2 如題所示,出現403
通過ajax傳送post請求向controller傳遞引數後,頁面無法跳轉問題
我的專案之前都是用location.href來向後臺傳遞引數,因為最近在學習ajax,所以將傳值方式改成了ajax傳送post請求,於是問題便接踵而來,我發現在controller中通過返回ModelAndView物件竟然不能實現頁面跳轉了,剛開始百思不得其解,現在總算明白這到底是怎麼一回事了,也想
ajax的post請求方式的坑
學習ajax的請求方式時,get方法的小練習我一下子就做出來了。(so easy)。但是換成post方式,卻死活沒有反應,連servlet的service()方法都不能訪問。後來折騰了兩個小時終於結案了。 首先我們知道ajax進行post請求方式是需要設定一個訊息頭的。方法為 <
使用ajax傳送post請求後呼叫servlet成功前臺沒有呼叫success
使用jquery ajax傳送請求後,前臺success方法一直沒有呼叫。 經除錯,返回狀態碼200說明請求傳送成功,後臺執行OK,猜測問題應該在前臺解析返回值部分。 錯誤示例: function validateName() {var name = $("#nameInputId").
POST請求出現中文亂碼的問題
最近使用Java的HttpURLConnection請求rest介面時候,POST請求引數中的中文傳輸之後出現亂碼的問題,在網上找了一個親測有效的方法: 將 DataOutputStream out = null; out = new DataOutputStream(connection.getO
ajax用post請求後臺controller實現前端後臺互動 傳兩個引數 ,後臺controller接收處理
PS→無奈:生氣,就是拿別人的過錯來懲罰自己。原諒別人,就是善待自己。 前臺jsp: $.ajax({ function getPage(page,size) { var postData={ "page":"1",
$.ajax 傳送post請求卻變成get請求
$.ajax 向伺服器傳送一個post請求,開啟開發者工具,發現post請求變成了get請求,怎麼都找不到原因,直到我開啟fiddler 抓包發現了一個返回狀態302的, 伺服器,檢測到手機請求,然後自動再路徑前面加上了/m-wap/ ,並且get 請求重定向。。。。