>  기사  >  백엔드 개발  >  ajaxreturn은 PHP에 내장된 메소드인가요?

ajaxreturn은 PHP에 내장된 메소드인가요?

Guanhui
Guanhui원래의
2020-05-02 17:02:193120검색

ajaxreturn은 PHP에 내장된 메소드인가요?

ajaxReturn은 PHP에 내장된 메소드인가요?

ajaxReturn은 PHP에 내장된 메소드가 아닙니다. ajaxReturn은 데이터를 반환하는 데 사용되는 ThinkPHP의 Action 클래스입니다. 클라이언트는 AJAX 호출 후 JSON, XML 및 EVAL을 지원하며 DEFAULT_AJAX_RETURN을 구성하여 설정되는 세 가지 방법으로 데이터를 반환합니다. 선택 시 데이터를 반환하는 다양한 방법을 사용할 수 있습니다. 다양한 AJAX 클래스 라이브러리.

ajaxReturn 사용법

ThinkPHP의 ajaxReturn 메소드를 사용하여 데이터를 반환하려면 반환되는 데이터에 대한 특정 형식 사양을 준수해야 합니다. ThinkPHP에서 반환하는 데이터 형식은 다음과 같습니다.

상태 작업 상태
정보 프롬프트 정보
데이터 반환 데이터

$this->ajaxReturn(返回数据,提示信息,操作状态);

반환 데이터 데이터는 클라이언트에 반환될 때 문자열, 숫자, 배열 및 개체를 지원할 수 있습니다. 다른 반환 형식으로. JSON 형식인 경우 자동으로 JSON 문자열로 인코딩되고, XML 모드인 경우 자동으로 XML 문자열로 인코딩되어 문자열 데이터 데이터만 출력됩니다. 상태 및 정보 정보는 무시됩니다.

다음은 간단한 예입니다:

$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 source code

/**
* 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.