Ajax提交URL问题

2019-01-02 21:15发布

问题:

不发生URL跳转,上代码(部分)
$.ajax({
type:"post",
url:"/AddMessageServlet",
dataType:"json",
data:{
mymessage:message,
datatime:dateTime,
user:session.getAttribute("username")
}

web.xml如下:
<servlet>
<servlet-name>AddMessageServlet</servlet-name>
<servlet-class>com.jhc.project.servlet.AddMessageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddMessageServlet</servlet-name>
<url-pattern>/AddMessageServlet</url-pattern>
</servlet-mapping>

回答1:

首先你只发了前段ajax部分的代码,这段代码是没有跳转部分的说明的,有就是只是把数据传输给后台的作用,那么如果你不改前段的基础上进行页面的跳转,那么就需要利用转发和重定向这两个概念进行页面跳转:
转发:
request.getRequestDispatcher("").forward(request, response);

重定向:
response.sendRedirect("");
你先改后端的代码试试。还有后端的servlet获取到数据没有。



回答2:

没见到跳转代码啊 可以加上window.location.href相关内容



回答3:

光是ajax本来就不发生URL跳转啊



回答4:

这是我写的一个登录方法的传值,光是ajax不能实现页面跳转
//登录的方法
function login(){
var loginName=$("#loginName").val();
var password=$("#password").val();
$.ajax({
url:contextPath+"/Login",
method:"post",
//传值
data:{loginName:loginName,password:password,action:"login"},
success:function(jsonStr){
var result=eval("("+jsonStr+")");
if(result.stcok>0){
window.location.href=contextPath+"/Home?action=index&loginNam="+loginName;//成功以后跳转页面
}else{
showMessage(result.message);//失败
}
}
})
}



标签: