$.ajax({
            url: "/Member/EditMemeberInfo",
            data: d,
            type: 'post',
            dataType: 'json',
            //async: false,
            success: function (val) {
                if (val.Code == -2) {
                    Cxlm.NotLogin();
                }
                else if (val.Code == 0) {
                    Cxlm.poptip_output("修改失败", "fail");
                }
                else {
                    Cxlm.poptip_output("修改成功", "success", false, "/Member/Basic_Info?from=" + subUrl);
                    
                }
            }
        });
        setTimeout(function () {
            alert($(".js-check-mobile").html());
        }, 5000);
求大牛帮忙,我现在正在使用ajax  执行到
Cxlm.poptip_output("修改成功", "success", false, "/Member/Basic_Info?from=" + subUrl);//这个能够跳转到Basic_Info页面 现在有个问题想问下,就是跳转后的页面有个
$(".js-check-mobile").html();//页面中有个控件,之前的页面,即跳转之前页面是没有的现在遇到情况如下,就是没跳转就读取了
$(".js-check-mobile").html();//页面中有个控件我想要实现的是 页面跳转后,完成了跳转,再到新页面继续执行这个 html获取,不知道这个是可不可行,如果行,帮个忙,嗯感激不尽那注://async: false, 这个也考虑了 ,没用, 帮忙看下JavaScriptURLajax

解决方案 »

  1.   

    What?
    页面都跳走了,你获取html干吗使?这事在debug?如果要debug,加一个断点或者console里log下就是了,console可以设置为的记录之前页面的log记录。
    setTimeout(function () {
                alert($(".js-check-mobile").html());
            }, 5000);setTimeout?5秒后看看这货的html代码是啥?为毛不在success里面看看?在Cxlm.poptip_output之前?
      

  2.   


    额,亲,其实我用这个获取这个html,就是想要,先跳转,再执行这个alert,关键不是看输出什么,因为这个只是在新的页面中出现,如果,不是null 就成功了,现在是,老是先是null,代表意思,在没挑战之前就执行了,这个不是我希望看到的
    至于为啥不放在 success  这个我也试了,没用。唉
      

  3.   


    额,你想用前一个页面的js操纵一个将来要打开的未来的页面上的某个元素?
    是这样理解么?我觉得你要做的是把alert放到新页面上js的生存周期是页面打开到页面关闭,包括刷新或者跳转。
      

  4.   


    额,你想用前一个页面的js操纵一个将来要打开的未来的页面上的某个元素?
    是这样理解么?我觉得你要做的是把alert放到新页面上js的生存周期是页面打开到页面关闭,包括刷新或者跳转。对的,是这个意思,您的讲解很到位,可能就是js的生存周期是页面打开到页面关闭,包括刷新或者跳转。
    我知道为啥那个执行不了了,那我那个方法放哪呢,不能放在onload ,这样刷新页面,就会执行,我不希望的呀,我要的结果只希望是在跳转后,才去执行,至于刷新,不执行,不过,我想了下,不放在load里,无法执行啊
      

  5.   

    1、现在遇到情况如下,就是没跳转就读取了
    这是因为 你的ajax请求是异步的
    你已将  //async: false,  注释了
    2、$(".js-check-mobile").html();
    这段代码要放到 
    /Member/Basic_Info 
    页面中去执行
    不知你  Cxlm.poptip_output
    方法 是打开个新页面 还是 层嵌套iframe
      

  6.   

    做不到,刷新和跳转也区分不开
    变通解决方案 你可以在页面load里面往cookie写页面url,并在写之前读取这个cookie,看是不是与当前url一致,如果一致则认为是刷新
      

  7.   


    答1: 这个我就是先打开的,试了,没用 才注释掉了,可能就是js生存周期问题吧答2: 这个我现在也打算放在/Member/Basic_Info 页面了,对了那个  Cxlm.poptip_output 这个方法的
     Cxlm.poptip_output("修改成功", "success", false, "/Member/Basic_Info?from=" + subUrl);
    参数分别是,执行后的提示信息、成功还是失败、是否刷新、href即链接,这个链接不是iframe ,是新的打开页面
      

  8.   


    这个可以试试,不过,用flag传递,判断可以不
      

  9.   


    Cxlm.poptip_output("修改成功", "success", false, "/Member/Basic_Info?from=" + subUrl);//这个能够跳转到Basic_Info页面
    不知你这是弹出层,还是整个页面URL变了
    如果是页面跳转了, 你干吗不传参给Basic_Info页,根据参数 再执行
     
      

  10.   


    Cxlm.poptip_output("修改成功", "success", false, "/Member/Basic_Info?from=" + subUrl);//这个能够跳转到Basic_Info页面
    不知你这是弹出层,还是整个页面URL变了
    如果是页面跳转了, 你干吗不传参给Basic_Info页,根据参数 再执行
     想想 也就能用这个方法了
      

  11.   

    寻找一个能判断页面是否刷新的方法,兼容chrome  ie 等各大浏览器的
    window.onbeforeunload   =   function(){      
          var   n   =   window.event.screenX   -   window.screenLeft;      
          var   b   =   n   >   document.documentElement.scrollWidth-20;      
          if(b   &&   window.event.clientY   <   0   ||   window.event.altKey)      
          {      
             alert("是关闭而非刷新");      
              window.event.returnValue   =   "是否关闭?";   
          }else{   
                 alert("是刷新而非关闭");      
         }      
    }这个方法不兼容chrome  惆怅