本人拍黄片(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,'密码不能为空'); } }