Javascript 带有Servlet参数的AJAX使用为空

Javascript 带有Servlet参数的AJAX使用为空,javascript,jquery,ajax,jsp,servlets,Javascript,Jquery,Ajax,Jsp,Servlets,我正在尝试从文本区域中移交文本。在几个操作之后,我想返回结果并在另一个文本区域打印结果 第一个my index.jsp:第一个textarea代码编辑器具有文本。单击按钮分析按钮后,第二个文本区域注释框应填充 <div class="form-group"> <label for="codeEditor" style="margin-top: 15px;">Code:</label> <textarea name="codeEditor"

我正在尝试从文本区域中移交文本。在几个操作之后,我想返回结果并在另一个文本区域打印结果

第一个my index.jsp:第一个textarea代码编辑器具有文本。单击按钮分析按钮后,第二个文本区域注释框应填充

<div class="form-group">
    <label for="codeEditor" style="margin-top: 15px;">Code:</label>
    <textarea name="codeEditor" class="form-control" id="codeEditor" rows="15" style="resize: none;"></textarea>
</div>

<button id="analysisButton" class="btn btn-default btn-block" style="margin-top: 10px;">Start analysis</button>

<div class="form-group">
    <label for="comment" style="margin-top: 15px;">Comment:</label>
    <textarea class="form-control" id="commentBox" style="resize: none;height:330px;"></textarea>
</div>
至少在我的servlet中,我调用了我的bean

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {     
    MainVisitor mainVisitor = new MainVisitor();
    request.setAttribute("mainVisitor", mainVisitor);

    mainVisitor.setSql(request.getParameter("codeEditor"));

    String result = mainVisitor.getResult();
    resp.setContentType("text/html");
    resp.setCharacterEncoding("UTF-8");
    resp.getWriter().write(result);
}
当我试图在MainVisitor中设置变量sql时,我得到一个NullPointerException

编辑: 我想我的问题是我没有阅读codeEditor的内容


我现在添加了var sql=$codeditor.val;到我的JS,但我不知道如何继续

你需要一个包装你的textarea codeEditor的表单。

如果你能提供完整的错误日志,那就太好了。。。 但我认为你的问题只是时间问题。请不要忘记AJAX代表异步JavaScript和XML

理解这一点很重要,因为在异步方案中,下一组命令/行已经执行,即使您仍在等待返回。您应该考虑回调函数。您应该将所有您认为应该等待某个实体恢复的指令放在处理之前


如果您有多余的时间,您可能需要阅读。

尝试实际发送数据

$.get("AnalysisServlet", {codeEditor: $("#codeEditor").val()}, function(responseText){
    $("#commentBox").text(responseText);
});

不会改变任何东西:/看起来不错。我不再得到异常,但值为空->空Stringtry{codeEditor:'select*from world'}作为数据参数,以查看是否得到任何东西这是一件好事,谢谢。这是我的第二个问题,因为我的文本区域也是异步填充的。
$.get("AnalysisServlet", {codeEditor: $("#codeEditor").val()}, function(responseText){
    $("#commentBox").text(responseText);
});