以下是我的jsp页面的代码。有一个包含两个文本区域和一个按钮的表单。它有一些 ajax 代码来从 servlet Demo 获取响应,并在文本区域内打印响应,而无需刷新页面。

<form action="Demo"> 
  <textarea id="txtQuery"></textarea> 
  <button type="submit" id="btnRunQuery" value="Run Query" onClick=""></button> 
  <textarea id="txtResults"></textarea> 
</form> 
 
<script> 
$(document).ready(function(){ 
  $("#btnRunQuery").click(function(){ 
    $.post("Demo",function(result){ 
      document.getElementById("txtresults").innerHTML=result; 
    }); 
  }); 
}); 
<script> 

以下是servlet演示中的代码。

doPost(HttpServletRequest request, HttpServletResponse response) 
{ 
  String query=request.getParameter("txtQuery"); 
  //The query is processed and the result is stored in a string solution. 
  response.getWriter.print(solution); 
} 

点击按钮后。结果由 servlet 发送到 jsp 页面,但不会打印在文本区域内。将打开一个新的空白页面,并显示结果。我无法理解这段代码中的问题。帮助将不胜感激!

请您参考如下方法:

使用e.preventDefault()停止阻止默认提交操作

希望您的网址是/Demo

$("#btnRunQuery").click(function(e){ 
    e.preventDefault(); 
    $.post("/Demo",null,function(result){ 
      document.getElementById("txtresults").innerHTML=result; 
    }); 
  }); 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!