Ajax跳转与传值
1.在ajax异步刷新技术中,当我们使用了ajax就不能在servlet中进行跳转,所以我们通过ajax中的跳转来实现页面直接的跳转
我们用window.location.href = "要跳转到那个页面中去的路径”;方法来进行跳转
列子:
<script>
$("#teacher").click(function() {
//获取文本框中的值
var name = $("#username").val();
var pass = $("#password").val();
$.ajax({
type: "post",//使用servlet中的post方法
url: "TeacherServlet",//进入那个servlet中去
//将值传入servlet
data: {
username: name,
password: pass
},
statusCode: {
404: function() {
alert("找不到该页面");//失败报错
}
},
success: function(data,textStatus) {
window.location.herf="ok.jsp"
}
})
})
</script>
2.传值:
我们跳转的过程中怎样将值给入另外的jsp页面中去,用的是
window.location.href= "ok.jsp?test=" + data;
方法但是我们还需要在对用的servlet中写入以下代码:
//将值返回到indx.jsp页面去
PrintWriterpw = response.getWriter();
pw.println(name);
列子:
Jsp:
<script>
$("#<%=bean.getS_id()%>").click(function(){
//获取文本框中的值
var id = $("#id").val();
$.ajax({
type: "post",//使用servlet中的post方法
url: "../DeleteServlet",//进入那个servlet中去
//将值传入servlet
data: {
id:id
},
statusCode: {
404: function() {
alert("找不到该页面");//失败报错
}
},
success: function(data,textStatus) {
alert("删除成功");
//将值传入ok.jsp页面中去,并跳转到ok.jsp页面中去
window.location.href= "part.jsp";
}
})
})
</script>
Servlet:
protectedvoid doPost(HttpServletRequestrequest, HttpServletResponse response) throws ServletException, IOException {
//获取ajax中传过来的值
String name = request.getParameter("username");
//将值返回到indx.jsp页面去
PrintWriterpw = response.getWriter();
pw.println(name);
}
最后跳转到的jsp页面:
<%
//获取值
Stringsr = request.getParameter("test");
%>
<h1>ok<%= sr%></h1>
我们用request.getParameter();来获取值