來源:互聯網
上載者:User
關鍵字
開發框架
Ajax
新特性
ThinkPHP
3.1對AJAX的支援更加完善了,表現在:
判斷AJAX方式改進
現在可以直接使用常量IS_AJAX來判斷是否AJAX方式請求,用來取代之前的HTTP://www.aliyun.com/zixun/aggregation/16339.html">Action類的isAjax方法, 優勢是可以在任何代碼裡面進行判斷。 而Action類的error和success方法內置就支援對AJAX自動判斷支援。
ajaxReturn方法完善
原來的ajaxReturn方法只能返回固定結構的資料,包括data、status和info索引資訊,如果需要擴展額外的返回資料資訊,只能通過ajaxAssign方法,3.1版本改進了ajaxReturn方法本身, 可以更好的支援ajax資料擴展,例如:
$data['status'] = 1;$data['info'] = '返回資訊';$data['data'] = '返回資料';$data['url'] = 'URL位址';$this->ajaxReturn($ data);
data傳值陣列可以隨意定義。
改進後的ajaxReturn方法也相容之前的寫法,例如:
$this->ajaxReturn($data,'info',1);
系統會自動把info和1兩個參數併入$data陣列中,等同于賦值
$data['info'] = 'info';$data['status'] = 1;$data['data'] = $data;$this->ajaxReturn($data);
但這種用法不再建議使用了。
success和error方法完善對ajax支援
如果是ajax方式下面,Action類的success和error方法都做了改進支援,這兩個方法的參數會轉換成ajaxReturn方法的data資料的info、status和url參數。 還可以支援傳入其他的參數,有兩種方式支援ajax傳值。 以success方法為例,第一種方式是直接傳入ajax資料
$data['code'] = 200;$data['name'] = 'ThinkPHP';$this->success('成功提示資訊','跳轉位址',$data);
或者採用
$this->assign('code',200);$this->assign('name','thinkphp');$this->success('成功提示資訊','跳轉位址');
最終返回給用戶端的ajax資料資訊是一個陣列,包括name、code、info、status和url。