php中ajax的使用

在开发海外置业网的过程中,发现在前台有很多用ajax的地方,可以总结一下,在以后的开放过程中,使用到随心应手。
  1. 首先讲第一种,就是返回来的数据是字符串变量(不是json对象)
  
$.post(
                    "<{$web_url}>/index.php/login/Login", {
                        'username': username,
                        'password': password,
                        'checkRember':checkRember
                    }, function (data) {
                        if(data=="0"){
                            alert("用户名或者密码错误");
                        }else if(data=="1"){
                            window.location.href = "<{$web_url}>/index.php/index";
                        }else if(data=="2"){
                           alert("请通过邮箱激活你的账号");
                        }
                    }
            );

先说一下$.post(url,data,function(data){  });这个是$.post()函数的应用格式。
后台php代码
 $username = $this->getRequest()->get("username");
        $pwd = $this->getRequest()->get("password");
        $checkRember = $this->getRequest()->get("checkRember");
        $member = new Member();
        $realPassword = $member->login($username,md5($pwd));
        //用户名 密码 保存七天
        if($checkRember == 1){
            setcookie("username",$username,time()+7*24*3600);
            setcookie("pwd",$pwd,time()+7*24*3600);
        }
        if( $realPassword == false){
            echo 0;
        }else{
            if(!empty($realPassword["activecode"])){
                session_start();
                $_SESSION["username"]=$username;
                echo 1;
            }else{
                echo 2;
            }
        }

然后这个就是ajax的一个过程,
然后在这个期间  http协议所做的事情是什么呢?

这个图 说明了  在ajax过程中 对应的参数  会当做http请求的一部分发送过去  这个也就是解释了 后台php为啥可以接受到参数
然后后台php开始处理对应的逻辑关系
echo 1;//把处理之后的结果给输出来
然后我们会看到http协议


这个回应 的内容 赋值给data    
然后前台根据data的值  来做出相对应的判断

注意 这个时候  自己打印参数 echo $sql  或者是其他变量  也会一起赋值给data  出现很多未知情况  data的判断 就是失去效果。

2 . 就是讲第二种,就是返回来的数据是json对象   目前, JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。需要先说明的就是  json_encode($data)这个也就是把$data 按照json对象输出
  $data['status'] = '0';
  $data['msg'] = '你的密码错误';
  $data['data'] = '';
http协议得到的数据就是

这个是就是data接受的数据

然后在前台
 var data = eval('(' + data + ')');
 console.log(data.status);
 if(data.status == 0){
       alert(data.msg);
  }else if(data.status == 1){
       window.location.href = "<{$web_url}>/index.php/index";
  }

这就是一个完整的过程


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值