Rumah >pembangunan bahagian belakang >tutorial php >TP为什么通过ajax提交后显示未定义?
提交后 后台通过$name=I('name')和$pw=I('pw')接收数据 但是echo出来后显示的是undefined 这是为什么?返回的也一直是0,是ajax部分的代码不对吗?可是F12查看时也没错啊
<code><script type="text/javascript"> function ajax(url,data,data2,funsucc){ var oAjax=new XMLHttpRequest(); oAjax.open('post',url,true); oAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); oAjax.send("name="+data+"&pw="+data2); oAjax.onreadystatechange=function(){ if(oAjax.readyState==4){ if(oAjax.status==200){ funsucc(oAjax.responseText); } } } } </script> <script type="text/javascript"> window.onload=function(){ var oBtn1=document.getElementById('btn1'); var oName=document.getElementById('name'); var oPw=document.getElementById('pw'); var oDiv5=document.getElementById('div5'); oBtn1.onclick=function(){ oV1=oName.value; oV2=oPw.value; ajax("{:U('login/ajax')}",oV1,oV2,function(str){ oDiv5.innerHTML=str; }); } } </script></code>
<code>public function ajax(){ $user=M('user'); $name=I('name'); $pw=I('pw'); echo $pw; //提示未定义 echo $name; //提示未定义 $res1=$user->where("username='$name' AND password='$pw'")->select(); if($res1){ $res=1; }else{ $res=0; } $this->ajaxReturn($res); }</code>
提交后 后台通过$name=I('name')和$pw=I('pw')接收数据 但是echo出来后显示的是undefined 这是为什么?返回的也一直是0,是ajax部分的代码不对吗?可是F12查看时也没错啊
<code><script type="text/javascript"> function ajax(url,data,data2,funsucc){ var oAjax=new XMLHttpRequest(); oAjax.open('post',url,true); oAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); oAjax.send("name="+data+"&pw="+data2); oAjax.onreadystatechange=function(){ if(oAjax.readyState==4){ if(oAjax.status==200){ funsucc(oAjax.responseText); } } } } </script> <script type="text/javascript"> window.onload=function(){ var oBtn1=document.getElementById('btn1'); var oName=document.getElementById('name'); var oPw=document.getElementById('pw'); var oDiv5=document.getElementById('div5'); oBtn1.onclick=function(){ oV1=oName.value; oV2=oPw.value; ajax("{:U('login/ajax')}",oV1,oV2,function(str){ oDiv5.innerHTML=str; }); } } </script></code>
<code>public function ajax(){ $user=M('user'); $name=I('name'); $pw=I('pw'); echo $pw; //提示未定义 echo $name; //提示未定义 $res1=$user->where("username='$name' AND password='$pw'")->select(); if($res1){ $res=1; }else{ $res=0; } $this->ajaxReturn($res); }</code>
<code> var oName=document.getElementById('name'); var oPw=document.getElementById('pw'); </code>
这两个数据打出来看下,没找到对象赋值的话会是undefined;
undefined肯定是js问题,详细错误贴一下
查看一下提交表单内数据情况
ajax("{:U('login/ajax')}",oV1,oV2,function(str){ });
<code> 你这个地方只是把值传进去了,没有定义 name,pw.</code>