thinkphp框架中ajax向控制器傳遞引數陣列
阿新 • • 發佈:2019-02-03
當需要使用ajax將多個數據傳送到後臺時,可以使用一個數組收集所有要傳送的陣列,然後將這個陣列作為引數傳送到後臺處理
這裡以使用者登入系統的驗證為例
1、JS部分
var user_name=$("#username").val(); var user_pwd=$("#password").val(); var login_info=new Array(2);//定義陣列 login_info[0]=user_name; login_info[1]=user_pwd; $.ajax({ url:'http://www.xxx.com/login_info/' + login_info,//提交訪問的URL,地址字尾不要加html type:'GET', dataType:'text', timeout:1000, error:function(){ alert('操作頻繁,請稍後再試!'); }, success:function(data){ var return_info=eval("("+data+")"); var result=Number(return_info); if(result>0){ location.href="http://www.zxzxzx.com"; } else{ alert("使用者名稱或密碼錯誤!"); } } })
2、php部分
注意:ajax傳遞過來的陣列資訊會被解析成字串,每個資料項之間用“,”分隔,因此可以按照“,”對字串分割成陣列
$user=M('User'); include"session.php"; session_start(); if(IS_AJAX){ $login_info=$_GET['login_info'];//獲取ajax傳送的資料 $login_info_array=explode(",",$login_info);//對字串進行分割 $user_name=$login_info_array[0]; $user_pwd=$login_info_array[1]; $condition['user_name']=$user_name; $condition['user_pwd']=$user_pwd; $check=$user->where($condition)->count();//資料庫資料查詢 if($check>0){ $_SESSION["user"]=$check; } $this->ajaxReturn($check);//將結果返回給前臺 }