2017-09-27 4 views
0

私は問題があります。私はJavaScriptで投稿データを送信するとHttpRequestHandlerはデータを受け取りません。私はコンテンツの価値を受け取りたい、それは動作しません。ここ はjavascriptのコードです:ここ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

私は問題を解決した、問題はjavascriptの側にあった、私はちょうどxhr.setRequestHeaderを追加するのを忘れています(」コンテンツタイプ "、 " application/x-www-form-urlencoded ");