服务器无法解析ajax的post参数中的某些内容,这是什么原因导致的?
服务器无法解析ajax的post参数中的某些内容,这是什么原因导致的?
我正在进行一个ajax的post请求,在客户端可以看到值在头部传递。
然而在服务器端接收到的值是空的?当服务器尝试解析时,似乎对值有些问题。因为如果我使用encodeURIComponent,它可以正常工作。是什么导致了这种行为?
Servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String body = request.getParameter("body"); System.out.println(body); //如果正常传递为空 :( }
我直接从头部复制了formdata的内容(所以有些东西服务器显然不喜欢):
相关请求头:
Content-Length: 64488
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
有什么想法吗?谢谢。
问题是由于字符串过长导致的。显然,Eclipse中的控制台有一个字符限制。这就是为什么我看到一个空值。这里的问题帮助解决了这个问题:Character limit for System.out.println() in Java
解决方法是:
- 转到Window > Preferences > Run/Debug > Console
- 取消选中"Limit Console Output"(或者您可以增加控制台缓冲区大小)