POST에서 큰 AJAX 요청을 Spring MVC를 통해 보내려고 시도하고 있습니다. 요청에는 표에서 선택한 행의 ID를 나타내는 데이터가 들어 있습니다.AJAX 요청이 Spring MVC에서 잘린 경우
POST /foo/view? HTTP/1.1
Host: localhost:8443
Connection: keep-alive
Content-Length: 618953
Accept: text/html, */*; q=0.01
Origin: https://localhost:8443
X-Requested-With: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://localhost:8443/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
폼 데이터 selections
부호화 포함 : 요청 N은 약 30,000 같은 것을 보인다
selection=1
selection=2
selection=...
selection=n
에 매핑 된 제어 방법 이 요청을 처리하는 데 다음과 같이 주석을 달았습니다 :
@RequestMapping(method = RequestMethod.POST, value = "/foo/view")
public void controllerMethod(User user, @ModelAttribute CustomModelMap inModel, BindingResult result) {
...
}
여기서 CustomModelMap에는 선택 항목을 컬렉션에 매핑하기위한 접근 자/변경자가 포함되어 있습니다.
내가으로 실행하고 문제는 최대한 빨리 컨트롤러를 명중 한, ModelMap 만 9,997 선택 (요청이 9,997 개 이상의 항목이 포함 된 경우가 항상이 수의)로 채워져 있다는 것입니다. 저는 실제로 AJAX 요청을 세 번 확인해 보았습니다. 실제로 AJAX 요청은 3 만 개가 넘었습니다.
웹 서버가 요청 헤더의 많은 양의 데이터를 좋아하지 않는다고 생각했지만, 요청은 약 600k이지만 Tomcat은 기본적으로 POST에 최대 2MB를 허용하는 것으로 보입니다.
내가 확인할 수있는 아이디어가 있습니까?
GET 요청을 하시겠습니까? 그것들은 웹 서버에 따라 변하는 URL에 한계가 있습니다. POST 요청의 본문에 그 값을 넣는 것은 그러나 작동해야합니다. – thatidiotguy
그가 사용하는 URL을 기반으로하는 @thatidiotguy는 GET처럼 보입니다. 이것은 대답 일 가능성이 높습니다. 그것을 하나 만들어라. 그러면 나는 당신에게 upvote를 줄 것이다. – digitaljoel
또한 http://stackoverflow.com/questions/2659952/maximum-length-of-http-get-request – digitaljoel