首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

ThinkPHP 3.1 Ajax 支援全面增強:IS_AJAX、ajaxReturn、success/error 擴展

     編輯:PHP 相關知識

1. 判斷 AJAX 請求:常量 IS_AJAX

if (IS_AJAX) { /* AJAX 邏輯 */ }
  • 替代舊版 $this->isAjax(),可在任意代碼位置使用(不限控制器)。
  • error()/success() 內建自動識別 AJAX 並返回 JSON。

2. ajaxReturn() 支援任意擴展字段

$data['status'] = 1;
$data['info']   = '返回信息';
$data['data']   = '返回數據';
$data['url']    = '跳轉地址';
$data['custom'] = '任意擴展';
$this->ajaxReturn($data);
  • 陣列結構完全自定義,不再限於 data/status/info 三字段。
  • 兼容舊寫法 $this->ajaxReturn($data,'info',1)(自動合併),但不建議繼續使用。

3. success()/error() 深度整合 AJAX

// 方式一:第三參數傳擴展陣列
$data['code'] = 200;
$data['name'] = 'ThinkPHP';
$this->success('成功提示','跳轉地址',$data);

// 方式二:assign 後直接 success
$this->assign('code',200);
$this->assign('name','thinkphp');
$this->success('成功提示','跳轉地址');

最終返回 JSON 含 name、code、info、status、url 等字段,前端統一處理極便利。

最佳實踐

  • 統一規範 AJAX 返回結構(如 {code,msg,data}),封裝基類 ajaxReturn()。
  • 控制器僅調用 success()/error(),配合 assign() 注入業務字段。
  • 前端攔截器統一處理 code!=200 錯誤提示,減少重複代碼。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved