ajaxreturn是php内置方法吗-PHP问题

资源魔 26 0

ajaxReturn是php内置办法吗

ajaxReturn没有是php内置办法,ajaxReturn是ThinkPHP中的Action类提供了ajaxReturn办法,用于AJAX挪用后前往数据给客户端,而且支持JSON、XML以及EVAL三种形式给客户端承受数据,经过设置装备摆设DEFAULT_AJAX_RETURN进行设置,默许设置装备摆设采纳JSON格局前往数据,正在抉择没有同的AJAX类库的时分能够应用没有同的形式前往数据。

ajaxReturn应用

要应用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){
  //胜利后前往客户端新增的用户ID,并前往提醒信息以及操作状态
  $this->ajaxReturn($result,"新增胜利!",1);
}else{
  //谬误后前往谬误的操作状态以及提醒信息
  $this->ajaxReturn(0,"新增谬误!",0);
}
$data['status'] = 1;
$data['info'] = 'info';
$data['size'] = 9;
$data['url'] = $url;
$this->ajaxReturn($data,'JSON');

ajaxReturn源码

/**
* Ajax形式前往数据到客户端
* @access protected
* @param mixed $data 要前往的数据
* @param String $type AJAX前往数据格局
* @return void
*/
protected function ajaxReturn($data,$type='') {
    if(func_num_args()>2) {// 兼容3.0以前用法
      $args      =  func_get_args();
      array_shift($args);
      $info      =  array();
      $info['data']  =  $data;
      $info['info']  =  array_shift($args);
      $info['status'] =  array_shift($args);
      $data      =  $info;
      $type      =  $args?array_shift($args):'';
    }
    if(empty($type)) $type =  C('DEFAULT_AJAX_RETURN');
    if(strtoupper($type)=='JSON') {
      // 前往JSON数据格局到客户端 蕴含状态信息
      header('Content-Type:text/html; charset=utf-8');
      exit(json_encode($data));
    }elseif(strtoupper($type)=='XML'){
      // 前往xml格局数据
      header('Content-Type:text/xml; charset=utf-8');
      exit(xml_encode($data));
    }elseif(strtoupper($type)=='EVAL'){
      // 前往可执行的js剧本
      header('Content-Type:text/html; charset=utf-8');
      exit($data);
    }else{
      // TODO 添加其它格局
    }
}

以上就是ajaxreturn是php内置办法吗的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 php故障解决 php使用问题 ajaxreturn

抱歉,评论功能暂时关闭!