|
Thinkphp3.1版對AJAX的支持更加完善了,具體表現(xiàn)在:
1.判斷AJAX方式改進(jìn)
現(xiàn)在可以直接使用常量IS_AJAX來判斷是否AJAX方式請求,用來取代之前的Action類的isAjax方法,優(yōu)勢是可以在任何代碼里面進(jìn)行判斷。而Action類的error和success方法內(nèi)置就支持對AJAX自動判斷支持。
2.ajaxReturn方法完善
原來的ajaxReturn方法只能返回固定結(jié)構(gòu)的數(shù)據(jù),包括data、status和info索引信息,如果需要擴展額外的返回數(shù)據(jù)信息,只能通過ajaxAssign方法,而Thinkphp3.1版本則改進(jìn)了ajaxReturn方法本身,可以更好的支持ajax數(shù)據(jù)擴展,例如:
$data['status'] = 1;$data['info'] = '返回信息';$data['data'] = '返回數(shù)據(jù)';$data['url'] = 'URL地址';$this->ajaxReturn($data);
data傳值數(shù)組可以隨意定義。
改進(jìn)后的ajaxReturn方法也兼容之前的寫法,例如:
$this->ajaxReturn($data,'info',1);
系統(tǒng)會自動把info和1兩個參數(shù)并入$data數(shù)組中,等同于賦值
$data['info'] = 'info';$data['status'] = 1;$data['data'] = $data;$this->ajaxReturn($data);
但這種用法不再建議使用了。
3.success和error方法完善對ajax支持
如果是ajax方式下面,Action類的success和error方法都做了改進(jìn)支持,這兩個方法的參數(shù)會轉(zhuǎn)換成ajaxReturn方法的data數(shù)據(jù)的info、status和url參數(shù)。還可以支持傳入其他的參數(shù),有兩種方式支持ajax傳值。以success方法為例,第一種方式是直接傳入ajax數(shù)據(jù)
$data['code'] = 200;$data['name'] = 'Thinkphp';$this->success('成功提示信息','跳轉(zhuǎn)地址',$data);
或者采用
$this->assign('code',200);$this->assign('name','thinkphp');$this->success('成功提示信息','跳轉(zhuǎn)地址');
最終返回給客戶端的ajax數(shù)據(jù)信息是一個數(shù)組,包括name、code、info、status和url。
php技術(shù):ThinkPHP3.1新特性之對Ajax的支持更加完善,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。