2 u010791853 u010791853 于 2015.05.28 09:31 提问

ajax如何实现页面跳转 1C

当我用AJAX像服务器发送一个登录请求后,服务器验证数据是否正确,是则跳到另一个
页面,否则返回一个数据错误的信息给AJAX,页面不刷新。

当验证正确时我用的是servlet的
request.getRequestDispatcher("../index.jsp").forward(request, response);跳转方式
错误就直接out.print();可是不管怎样都是跳到了那个请求页面
请问要怎样才能跳到另一个页面,还能带着数据过去

ajax代码
//声明XMLHttpRequest对象
var xmlrequest;

//初始化XMLHttpRequest
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlrequest = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlrequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlrequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){

        }
    }
}

}

//定义回调函数
function processResponse(){
//响应完成
if(xmlrequest.readyState == 4){
//响应正常
if(xmlrequest.status == 200){
var head = xmlrequest.responseText;
alert(head);

    }
}

}

servlet代码
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("post被触发了");
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");

    String account = request.getParameter("account");
    String password = request.getParameter("password");

    if (account == "admin" & password == "admin"){
        request.getRequestDispatcher("../index.jsp").forward(request, response);
    }else{
         PrintWriter out = response.getWriter();
         out.print("错误");
    }

12个回答

LSL1618
LSL1618   2015.05.28 09:39

贴出code来看看,ajax和处理请求的java方法。

jiawei0418
jiawei0418   2015.05.28 09:51

可以用jquery的ajax啊 方便 $.post("url",{......},funtion(result){
if(result){跳转网页}else{弹出提示框}
})

showbo
showbo   Ds   Rxr 2015.05.28 10:09

ajax请求不理会跳转的,你需要在客户端用js进行跳转,如果正确你输出1,不正确输出0就行,其他不要输出

 function processResponse(){
//响应完成
if(xmlrequest.readyState == 4){
//响应正常
if(xmlrequest.status == 200){
var head = xmlrequest.responseText;
if(head=='1')location='xxxxxxxxxxxxxxxxxx'///////成功进行体总站

    }
}
qq_25667339
qq_25667339   2015.05.28 10:21

$.ajax({
url : '',
success : function(data){
if(data.status='1'){
//跳转,也可以?传值将参数传过去
window.location.href="";
}
}
});

希望对你有帮助,ajax的数据项有省略,具体查看api

csdn_sdut
csdn_sdut   2015.05.28 10:22

页面间传值可以用Session对象

shuilantk
shuilantk   2015.05.28 15:06

利用ajax返回成功后,在success回调函数中window.location=""可以在本页面进行跳转

         $.ajax({
            type : "post",
            url : "",
            data : ,
            success : function(json)
            {
                if (json.success)
                {
                    alert("ajax成功!");
                    var url = $("#save").val();
                    window.location = url;
                }
                else
                {
                    alert(json.msg || "ajax失败!");
                }
            },
            error : function(json)
            {
                alert("ajax失败!");
            }
        });
jiuqiyuliang
jiuqiyuliang   2015.05.28 17:41

正解

$.ajax({
            type : "post",
            url : "",
            data : ,
            success : function(json)
            {
                if (json.success)
                {
                    alert("ajax成功!");
                    var url = $("#save").val();
                    window.location = url;
                }
                else
                {
                    alert(json.msg || "ajax失败!");
                }
            },
            error : function(json)
            {
                alert("ajax失败!");
            }
        });

baidu_25310663
baidu_25310663   2015.05.28 18:17

//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.location.href;
//获取主机地址之后的目录,如: uimcardprj/share/meun.jsp
var pathName=window.document.location.pathname;
var pos=curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8083
var localhostPaht=curWwwPath.substring(0,pos);
//获取带"/"的项目名,如:/uimcardprj
var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
return(localhostPaht+projectName);
}
function tongguo(id){

        var id = id;
         jq.ajax({
                url:getRootPath()+'访问的地址',
                data:"id="+id,
                type:'post',
                dataType:'text',
                success:function(data){
                    alert(data);
                    var newurl=getRootPath()+'跳转的地址';
                    window.location.href=newurl;
                },
                error: function(error){
                    alert("失败!!!");
                }

          });
    }
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.05.28 22:43

楼上几家,用的ajax都是简单方便的写法,很正解

missMeyo
missMeyo   2015.05.28 23:39

window.location.href=url.

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片