2
我想在不刷新页面的情况下在同一页面中打印我的servlet的响应。我写了这段代码,但我不明白为什么它打开页面:http://localhost:8080/..../NewServlet.do,而不是在同一页面显示结果。Servlet的响应没有刷新JSP
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
var form = $('#form1');
form.submit(function() {
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success: function (data) {
var result=data;
$('#result').attr("value",result);
}
});
return false;
}); </script>
</head>
<body>
<form name=form1 action="NewServlet.do" method="post">
<select id='choose' class='form-control' name='choose'>
<option value='prodotti'>Products</option>
<option value='login'>Objects</option>
</select>
<button type='submit' class='btn btn-default' style="width: 40%;">SUBMIT</button>
<div id='result'>
/// I want the servlet's response is placed here.
</div>
</form>
</body>
<html>
我的servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String i = request.getParameter("choose");
PrintWriter out = response.getWriter();
out.println("<br>"+i+"</br>");
}
没有。它重新加载页面:( – blinkettaro
啊,现在我看到了它:首先,你的表单没有id,但是你使用ID选择器来获取它 - 不能工作,在表单中添加id =“form1”'。 ,我会将脚本封装到'$(document).ready(function(){...这里是原始代码...});',当然,当我们修改它时,DOM已经被构建。 –
我修改了我的代码(不是你写的那个)添加id ='form1',它不起作用,然后我用你的代码,它不工作,看起来javascritp代码没有被读取或激活。 :/ – blinkettaro