微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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://www.jb51.cc/ajax/161187.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐