TP为什么接收不到ajax的数据?

当前页面点击<a id="login" href="Login/login">登录</a>后执行如下操作 为什么后台接收不到数据呢?这个{$Think.session.url2};是在当前home页面控制器下设置的 里面有值而且也能在前端输出 我本来想点击login时想弹出来看一下呢 结果没有弹窗直接就跳转过去了 我在login的操作方法里面也打印不出来任何ajax传过来的数据 $url=I('url');echo $url; 是ajax我哪里写的不对吗?我感觉也没错啊

<script type="text/javascript">
       function ajax(url,data,funsucc){
            var oAjax=new XMLHttpRequest();
            oAjax.open('post',url,true);                   
            oAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
            oAjax.send("url="+data);    
            oAjax.onreadystatechange=function(){
              if(oAjax.readyState==4){
                if(oAjax.status==200){
                  funsucc(oAjax.responseText);
                }
              }
            }
        }
      }
</script>
<script type="text/javascript">
window.onload=function(){
   var oLogin=document.getElementById('login');
   oLogin.onclick=function(){
      oV1={$Think.session.url2};
      alert('oV1');
      ajax("{:U('Login/login')}",oV1,function(str){
        alert(str);                                  //这里不用返回数据 所以我就随便写的额
      });
    }
}
</script>
阅读 4k
1 个回答

<a id="login" href="Login/login">登录</a> 这里href 会使页面跳转, 你想传值并跳转,那么应该先传值,再跳转吧? 如果是这样的话, 可以这么做:

// 这里不做跳转
<a id="login" href="javascript:;">登录</a>


// 这回调里边
oLogin.onclick=function(){
  oV1={$Think.session.url2};
  alert('oV1');
  ajax("{:U('Login/login')}",oV1,function(str){
    alert(str);   
    // 这里成功传完数据之后, 通过js跳转
    window.location.href = 'Login/login';                             
  });
}

望采纳,谢谢!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进