亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

服務器無法解析ajax post參數中的某些內容,這是什么原因造成的?

服務器無法解析ajax post參數中的某些內容,這是什么原因造成的?

手掌心 2022-01-12 10:05:59
我正在發出 ajax 發布請求,我可以看到該值正在客戶端的標頭中傳遞。但是在服務器端收到的值是空白的?當服務器試圖解析它時,它似乎被值中的某些東西阻塞了。因為如果我使用 encodeURIComponent 它工作正常。是什么導致了這種行為?<script>    //var body = getDataFromTheEditor(); //doesn't work    //var body = JSON.stringify(getDataFromTheEditor()); //doesn't work    var body = encodeURIComponent(getDataFromTheEditor()); //works but don't want to do this...    var params = {body: body};    $.post("../../../../CommitEdit", $.param(params));</script>小服務程序:protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    String body = request.getParameter("body");    System.out.println(body); //blank if i pass it normally :(}我直接從標題中復制了表單數據,因為它正在傳遞(所以這里有一些服務器顯然不喜歡的東西):pastebin - 未解析的表單數據pastebin - 解析的表單數據相關請求標頭:Content-Length: 64488 Content-Type: application/x-www-form-urlencoded; charset=UTF-8有任何想法嗎?謝謝。
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

這可能是由于 Web 服務器設置中的一些安全規則造成的。您可以使用以下方法在 Java 中解碼您的數據:

String res= java.net.URLDecoder.decode(body, "UTF-8");


查看完整回答
反對 回復 2022-01-12
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

問題是因為字符串太長。顯然 Eclipse 中的控制臺有字符限制。這就是為什么我看到一個空白值。這里的這個問題幫助解決了這個問題:

解決方案是:

  1. 轉到窗口 > 首選項 > 運行/調試 > 控制臺

  2. 取消選中“限制控制臺輸出”(或者,您可以增加控制臺緩沖區大小。)


查看完整回答
反對 回復 2022-01-12
  • 2 回答
  • 0 關注
  • 282 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號