Maison > php教程 > PHP开发 > le corps du texte

Analyse de la méthode AJAX return ajaxReturn() dans thinkphp

高洛峰
Libérer: 2016-12-30 09:45:18
original
1682 Les gens l'ont consulté

Cet article analyse la méthode AJAX return ajaxReturn() dans thinkphp. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Le système prend en charge n'importe quelle bibliothèque de classes AJAX. La classe Action fournit la méthode ajaxReturn pour renvoyer des données au client après un appel AJAX. Il prend également en charge trois manières JSON, XML et EVAL de recevoir des données du client, qui peuvent être définies en configurant DEFAULT_AJAX_RETURN. La configuration par défaut utilise le format JSON pour renvoyer les données. Vous pouvez utiliser différentes manières de renvoyer des données lorsque vous choisissez différentes bibliothèques de classes AJAX.

Si vous souhaitez utiliser la méthode ajaxReturn de ThinkPHP pour renvoyer des données, vous devez vous conformer à certaines spécifications de format de données de retour. Les formats de données renvoyés par ThinkPHP incluent :

état de l'opération
informations sur l'invite d'informations
données de retour

$this->ajaxReturn(返回数据,提示信息,操作状态);
Copier après la connexion

données de retour les données peuvent prendre en charge les chaînes , les nombres, les tableaux et les objets sont codés et transmis selon différents formats de retour lorsqu'ils sont renvoyés au client. S'il est au format JSON, il sera automatiquement encodé en chaîne JSON. S'il est en mode XML, il sera automatiquement encodé en chaîne XML. S'il est en mode EVAL, seules les données de chaîne seront sorties. et les informations sur l'état et les informations seront ignorées.

Ce qui suit est un exemple simple :

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

code source thinkphp :

/**
* 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 增加其它格式
    }
}
Copier après la connexion

J'espère que cet article vous aidera à concevoir des programmes PHP basés sur le framework ThinkPHP.

Pour plus d'articles liés à l'analyse de la méthode AJAX return ajaxReturn() dans thinkphp, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!