這篇文章主要介紹了關於ThinkPHP3.1新特性對Ajax的支援更加完善的介紹,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
這篇文章主要介紹了ThinkPHP3.1對Ajax的支援,需要的朋友可以參考下
ThinkPHP3.1版對AJAX的支援更加完善了,具體表現在:
1.判斷AJAX方式改進
現在可以直接使用常量IS_AJAX來判斷是否AJAX方式請求,用來取代之前的Action類的isAjax方法,優勢是可以在任何代碼裡面進行判斷。而Action類的error和success方法內建就支援對AJAX自動判斷支援。
2.ajaxReturn方法完善
原來的ajaxReturn方法只能返回固定結構的資料,包括data、status和info索引資訊,如果需要擴充額外的返回資料資訊,只能通過ajaxAssign方法,而ThinkPHP3.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);
但這種用法不再建議使用了。
3.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。
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!