2017-09-27 4 views
0

문제가 있습니다. JavaScript로 게시물 데이터를 보낼 때 HttpRequestHandler가 데이터를받지 못합니다. 나는 콘텐츠의 가치를 원하지만 작동하지 않습니다.Spring HttpRequestHandler + XMLHttpRequest

여기
function utils_saveElementAndGetId(url,content) { 
var xhr = new XMLHttpRequest() 

xhr.open("post", url, false); 
xhr.send(content); 

if (xhr.status != 200) { 
    alert(xhr.status + ': ' + xhr.statusText) 
} else { 
    return xhr.responseText 
} 
} 

이 HttpRequestHandler의 코드입니다 : 여기 자바 스크립트 코드

내가 문제를 해결 한
public class HeaderServlet implements HttpRequestHandler { 
private static final Logger log = LoggerFactory.getLogger(HeaderServlet.class); 

TemplateDao templateDao; 
HeaderElementDao headerElementDao; 
CheckboxElementDao checkboxElementDao; 

@Autowired 
public HeaderServlet(TemplateDao templateDao, HeaderElementDao headerElementDao, CheckboxElementDao checkboxElementDao) { 
    this.templateDao = templateDao; 
    this.headerElementDao = headerElementDao; 
    this.checkboxElementDao = checkboxElementDao; 
} 

public void handleRequest(HttpServletRequest req, 
          HttpServletResponse resp) 
     throws ServletException, IOException { 

    String content = req.getParameter("content"); 
    HeaderElement headerElement = new HeaderElement(content); 

    Long templateId = (Long) req.getSession().getAttribute("id"); 
    Template template = templateDao.get(templateId); 
    headerElement.template = template; 
    headerElementDao.create(headerElement); 

    template.headerElements.add(headerElement); 
    templateDao.saveOrUpdate(template); 


    resp.setStatus(200); 
    resp.setContentType("text/plain"); 
    resp.getOutputStream().println(headerElement.getId()); 
    resp.flushBuffer(); 
} 
} 
+0

처음에는 서블릿이 아닙니다. 전문 용어에주의하고 실제로 사용하고있는 것을 알고 있어야합니다. – BalusC

답변

0

이 문제는 자바 스크립트 측면에서했다, 난 그냥 "(xhr.setRequestHeader를 추가 깜빡했다 콘텐츠 유형 ", "application/x-www-form-urlencoded ");