ajax请求和php接口

本人拍黄片(PHP),我大php是世界上最好的语言,由于工作原因,学了点ajax,在这里分享给大家,当然必须也要有php提供接口数据的呀!

#html代码
<!DOCTYPE html>
<html>
<head>
	<title>测试ajax请求</title>
</head>
<body>
		<br/><br/><br/><br/>
		<center>
		phone: <input type="text" name="phone" class="phone"><br/>
		name:  <input type="text" name="name" class="name"><br/>
				<button class="btn">点击测试</button>
		</center>
</body>
<script type="text/javascript" src="jquery.js"></script>
</html>
#js代码:
    $(function(){
        $('.btn').click(function(){
            var phone=$('.phone').val();
            var name =$('.name').val();
            $.ajax({
                type:'POST',
                url: '{:U('Login/check')}',
               dateType:'JSON',
                data:{
 //也可以写成拼接字符串模式
                    'phone':phone,   
                    'name':name,
                },
/******
        第二种data数据形式
        data:'phone='+$(".phone").val()+"&name="+$(".name").val(),
**/
                success: function(data){
        //这里的data跟state是php提供接口时返回的信息
                    if(data.state=="y"){
                        alert(data.msg);
                        window.location.href="url"; //这里是异步请求成功的跳转地址。
                    }else{
                        alert(data.msg);
                        return false;
                    }
                }
            });
        });
            
    });
//第三种ajax请求:
	var url = "/index.php?c=login&a=check1";
		var data = {'username':username,'password':password};

		$.post(url,data,function(result){
			if(result.status==0){
					return dialog.error(result.message);
			}
		},'JSON');
	},
#test.php 这里我用的是thinkphp3.2版本的,有些封装好的函数我就拿来直接用了
<?php
namespace Admin\Controller;
use Think\Controller;
class LoginController extends Controller {
    public function check(){
    	   $username = $_POST['username'];
    	   $password = $_POST['password'];
    	if(!trim($username)){
//这里的data是数组,和ajax信息一模一样,参数值怎么返回,这里怎么写
    		$data['state']=0;
    		$data['msg']='空';
    		echo json_encode($data);die();
    				
    	}
    	
    }
}
    

或者用另一种标准的方式写接口也行:

public function check1(){
    //这里是login下的check1另一个接口方式,更改ajax的url参数就可以用了。
    $username= $_POST['username'];
    if(!trim($username)){
       $result=array('data'=>array(),'message'=>'密码不能为空','status'=>0); 
        exit(json_encode($result));
    }
}

或者我们可以封装一个公共类接口返回信息,然后在业务逻辑下直接调用这个方法

//这里我用的是TP3.2做的例子,其实框架只是工具,不要在意这些,任何框架都可以这样写
//我在application/Common/Common下的function.php写的
function  show($status,$message,$data=array()){
    $result=array(
                'status'=>$status,
		'message'=>$message,
		'data'  => $data);
    exit(json_encode($result));
}

//然后再业务中这样调用
 public function check(){
    	$username = $_POST['username'];
    	$password = $_POST['password'];
    	if(!trim($username)){
//直接return show方法,然后信息直接写。
    		return show(0,'用户名不能为空');		
    	}
    	if(!trim($password)){
    		return show(0,'密码不能为空');
    	}
    }

转载于:https://my.oschina.net/gracebear/blog/891296

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值