婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ajax快速解決參數過長無法提交成功的問題

ajax快速解決參數過長無法提交成功的問題

熱門標簽:東平縣地圖標注app 怎樣在地圖標注文字 地圖標注推銷坑人 大眾點評400電話怎么申請 上海企業外呼系統價錢 立陶宛地圖標注 電銷機器人 長春 河間市地圖標注app 中國地圖標注不明確情況介紹表

查了很多資料都說,get方法的參數是有限制的,post方法的參數的長度是無限制,這也是post相比get的優勢一直。

在ajax中使用post方法,用常規的參數格式:param1=a1param2=a2 ,當參數長度過長時,依然提交不成功。比如我們經常這樣寫一個ajax的post請求:

$.ajax({
  type: "post",  // post or get
  contentType:"application/json;charset=utf-8",
  data: “requestTag=”+tag+"content="+content,  //請求參數
  url: "postMockJson",   //地址
  dataType: "text",
  error: function (err) {
   outLog("錯誤"+err);
  },
  success: onSaveSuccess
});

這樣使用的時候,發現若是參數2:content內容過多時,比如我傳的是一個比較大的文本內容,我在后臺服務(我用的是servlet)中獲取時:

String content= request.getParameter("content");

這里的content的值,為null。

還有一種快捷的方法可以查看ajax請求是否成功,使用F12開發者工具進行調試,在執行完ajax代碼后,在F12工具中的network選項頁面中,可以看到發起的請求,這時候看到的請求的參數有錯誤提示。

解決方法:

ajax的參數格式還有另外一種寫法:json格式的請求參數,我可以寫成這樣:

var param = "{requestTag:\""+requestTag+"\",content:\""+content+"\"}";
(ps:注意json格式要正確)

這個時候,若是使用F12進行debug,可以看到請求的參數的數據都是正確的。

那么問題來了,我在servlet中獲取的content依舊是null,這是為什么呢???

由于請求參數是一個json數據塊,所以這種request.getParameter(“content”)方法,當然獲取不到數據啦,因為它不會給我們解析json數據。

那么我們傳遞的參數數據在哪里呢?

重點來了:數據都在request對象里。

那么我們就用最原始的方法,通過數據流的方法獲取傳遞的數據,如下:

request.setCharacterEncoding("UTF-8");
StringBuilder sb = new StringBuilder();
try(BufferedReader reader = request.getReader();) {
char[] buff = new char[1024];
int len;
 while((len = reader.read(buff)) != -1) {
  sb.append(buff,0, len);
  }
}catch (IOException e) {
   e.printStackTrace();
}

這時候,我們的json數據都在sb對象中了,接下來只需要解析json對象就可以了:

JSONObject jobject = JSONObject.fromObject(sb.toString());
String requestTag = jobject.getString("requestTag");
String content = jobject.getString("content");

到這里,我們就可以獲取到content的了。

以上這篇ajax快速解決參數過長無法提交成功的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • ajax上傳時參數提交不更新等相關問題
  • jQuery中ajax的使用與緩存問題的解決方法

標簽:遼寧 益陽 四川 營口 內江 銅川 本溪 玉樹

巨人網絡通訊聲明:本文標題《ajax快速解決參數過長無法提交成功的問題》,本文關鍵詞  ajax,快速,解決,參數,過長,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ajax快速解決參數過長無法提交成功的問題》相關的同類信息!
  • 本頁收集關于ajax快速解決參數過長無法提交成功的問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宁乡县| 菏泽市| 河曲县| 乃东县| 孝感市| 西畴县| 吉水县| 额济纳旗| 广饶县| 英德市| 邹平县| 江津市| 乳源| 禹城市| 盐山县| 泌阳县| 南宫市| 平潭县| 甘孜| 邵阳县| 柘荣县| 千阳县| 家居| 洛宁县| 济南市| 永平县| 汪清县| 澜沧| 太保市| 平原县| 桑日县| 合阳县| 永城市| 手游| 汝南县| 苗栗市| 怀仁县| 潞西市| 股票| 五台县| 安新县|