Heim > Backend-Entwicklung > PHP-Problem > Ist Ajaxreturn eine integrierte Methode in PHP?

Ist Ajaxreturn eine integrierte Methode in PHP?

Guanhui
Freigeben: 2023-02-28 21:36:01
Original
3180 Leute haben es durchsucht

Ist Ajaxreturn eine integrierte Methode in PHP?

Ist ajaxReturn eine integrierte Methode in PHP? Nach dem AJAX-Aufruf werden Daten an den Client zurückgegeben und JSON, XML und EVAL werden für den Empfang von Daten vom unterstützt Client. Dies wird durch die Konfiguration von DEFAULT_AJAX_RETURN festgelegt. Die Standardkonfiguration verwendet das JSON-Format, um Daten zurückzugeben, die bei der Auswahl verschiedener AJAX-Klassenbibliotheken verwendet werden können.

ajaxReturn verwendet

Wenn Sie die ajaxReturn-Methode von ThinkPHP zum Zurückgeben von Daten verwenden möchten, müssen Sie bestimmte Formatspezifikationen für zurückgegebene Daten einhalten. Zu den von ThinkPHP zurückgegebenen Datenformaten gehören:

Status-Betriebsstatus

Info-Eingabeaufforderungsinformationen

Datenrückgabedaten

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

Rückgabedatendaten können Zeichenfolgen, Zahlen, Arrays und Objekte unterstützen. Rückkehr Auf der Client-Seite werden die Daten gemäß verschiedenen Rückgabeformaten kodiert und übertragen. Wenn es im JSON-Format vorliegt, wird es automatisch in eine JSON-Zeichenfolge codiert. Wenn es sich im XML-Modus befindet, wird es automatisch in eine XML-Zeichenfolge codiert. Wenn es sich im EVAL-Modus befindet, werden nur die Zeichenfolgendaten ausgegeben. und Status- und Infoinformationen werden ignoriert.

Das Folgende ist ein einfaches Beispiel:

$User=M("User");//实例化User对象
$result = $User->add($data);
if ($result){
  //成功后返回客户端新增的用户ID,并返回提示信息和操作状态
  $this->ajaxReturn($result,"新增成功!",1);
}else{
  //错误后返回错误的操作状态和提示信息
  $this->ajaxReturn(0,"新增错误!",0);
}
Nach dem Login kopieren
$data['status'] = 1;
$data['info'] = 'info';
$data['size'] = 9;
$data['url'] = $url;
$this->ajaxReturn($data,'JSON');
Nach dem Login kopieren

ajaxReturn-Quellcode

/**
* 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 增加其它格式
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonIst Ajaxreturn eine integrierte Methode in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage