系統支援任何的ajax類庫,action類提供了ajaxreturn方法用於ajax呼叫後返回資料給客戶端。並且支援json、xml和eval三種方式給客戶端接受資料,通過配置default_ajax_return進行設定,預設配置採用json格式返回資料,在選擇不同的ajax類庫的時候可以使用不同的方式返回資料。
要使用thinkphp的ajaxreturn方法返回資料的話,需要遵守一定的返回資料的格式規範。thinkphp返回的資料格式包括:
status 操作狀態info 提示資訊
data 返回資料
$this->ajaxreturn(返回資料,提示資訊,操作狀態);返回資料data可以支援字串、數字和陣列、物件,返回客戶端的時候根據不同的返回格式進行編碼後傳輸。如果是json格式,會自動編碼成json字串,如果是xml方式,會自動編碼成xml字串,如果是eval方式的話,只會輸出字串data資料,並且忽略status和info資訊。
下面是乙個簡單的例子:
$user=m("user");//例項化user物件$result = $user->add($data);
if ($result)else
$data['status'] = 1;thinkphp源**:$data['info'] = 'info';
$data['size'] = 9;
$data['url'] = $url;
$this->ajaxreturn($data,'json');
/*** ajax方式返回資料到客戶端
* @access protected
* @param mixed $data 要返回的資料
* @param string $type ajax返回資料格式
* @return void
*/protected function ajaxreturn($data,$type='')
if(empty($type)) $type = c('default_ajax_return');
if(strtoupper($type)=='json') elseif(strtoupper($type)=='xml')elseif(strtoupper($type)=='eval')else
}
Vue中ajax返回的結果賦值
這是第二次在專案中遇到此問題,ajax請求成功後在success函式中為vue例項data裡的變數賦值,卻失敗了 new vue created function 原因在於在ajax的success函式中,this的指向不再是vue的例項 解決辦法可以先把this儲存起來 new vue creat...
ajax在tp上的使用
ajax使用十分的方便,借助jquery外掛程式,我們在程式中使用ajax也是十分的簡單的。ajax的使用範圍也是十分的廣泛。1.ajax使用的時候如果是直接在當前頁面上書寫js 可以直接使用 public 變數的,如果是將js 寫到其他的地方,那麼需要在當前的頁面,宣告一下public 也可以是其...
Vue中ajax返回結果賦值
這是第二次在專案中遇到此問題,ajax請求成功後在success函式中為vue例項data裡的變數賦值,卻失敗了 new vue created function 原因在於在ajax的success函式中,this的指向不再是vue的例項,解決辦法可以先把this儲存起來 new vue creat...