Я делаю пост-запрос 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>
Servlet:
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
Есть идеи? Благодарю.