程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> ThinkPHP3.1新特性之對Ajax的支持更加完善

ThinkPHP3.1新特性之對Ajax的支持更加完善

編輯:PHP綜合

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。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved