thinkphp怎么用ajax?ThinkPHP中ajax使用实例教程

 更新时间:2017年7月6日 23:50  点击:1620
小编分享的这篇文章介绍了ThinkPHP中ajax使用实例代码,不知道如何使用ajax的同学可以参考一下本文。

 一、jquery实现方法:

 代码如下 复制代码

MessageAction.class.php页面代码如下:

<?php

class MessageAction extends Action{

 function index(){

  $this->display(); 

 }

 function add(){

  //ajaxReturn(数据,'提示信息',状态) 

  $m=M('message');

  if($m->add($_GET)){

   $this->ajaxReturn($_GET,'添加信息成功',1);

  }else{

   $this->ajaxReturn(0,'添加信息失败',0); 

  }

 }

}

?>

模板index.html代码如下:

 代码如下 复制代码

<html>

<head>

<script type="text/javascript" src="__PUBLIC__/js/jquery-1.7.1.min.js"></script>

<script type="text/javascript">

 $(function(){

  $('input:button').click(function(){

   var $title=$('input[name="title"]').val();

   var $message=$('input[name="message"]').val();

   $mess=$('#mess');

   $.getJSON('__URL__/add',{title:$title,message:$message},function(json){

    //alert(json);return false;

    if(json.status==1){

     $mess.slideDown(3000,function(){

      $mess.css('display','block'); 

     }).html('标题为'+json.data.title+'信息为'+json.data.message); 

    }else{

     $mess.slideDown(3000,function(){

      $mess.css('display','block'); 

     }).html('信息添加失败,请检查'); 

    }  

   });

  }) 

 })

</script>

</head>

<body>

<div style="display:none; color:red;" id="mess"></div>

<form action="" method="get">

 标题:<input type="text" name="title" /><br />

 信息:<input type="text" name="message" /><br />

  <input type="button" value="提交" />

</form>

</body>

</html>

二、ThinkPHP实现方法:

MessageAction.class.php页面代码如下:

 代码如下 复制代码

<?php

class MessageAction extends Action{

 function index(){

  $this->display(); 

 }

 function addtwo(){

  $m=M('message');

  if($vo=$m->create()){

   if($m->add()){

    $this->ajaxReturn($vo,'添加成功',1); 

   }else{

    $this->ajaxReturn(0,'添加失败',0); 

   } 

  }else{

   $this->error($m->getError()); 

  }

 }

}

?>

模板index.html代码如下:

 代码如下 复制代码

<html>

<head>

<script type="text/javascript" src="__PUBLIC__/Js/Base.js"></script>

<script type="text/javascript" src="__PUBLIC__/Js/prototype.js"></script>

<script type="text/javascript" src="__PUBLIC__/Js/mootools.js"></script>

<script type="text/javascript" src="__PUBLIC__/Js/ThinkAjax.js"></script>

<script type="text/javascript">

 function add(){

  //ThinkAjax.sendForm(表单ID,URL,回调函数,信息显示的地方);

  ThinkAjax.sendForm('frm','__URL__/addtwo',wc); 

 }

 function wc(data,status){

  if(status!=1){

   alert('发送失败');

  }else{

   $('list').innerHTML+='标题'+data.title+',信息'+data.message; 

  } 

 }

</script>

</head>

<body>

<div id="list"></div>

<form action="" method="POST" id="frm">

 标题:<input type="text" name="title" /><br />

 信息:<input type="text" name="message" /><br />

  <input type="button" value="提交" onClick="add()" />

</form>

</body>

</html>

感兴趣的朋友可以测试运行一下本文所示实例,可以加深对Ajax应用的理解。

 

本文介绍了PHP代码添加注释的几种格式,非常实用,不会的同学可以参考一下。

PHP代码添加注释的几种格式:
1、用 // 开头,作为单行注释。例如:
<?php
    // Author: mole
    // Date:2012-2-8
    echo "Welcome!";
?>
2、用 # 开头,作为单行注释。例如:
<?php
    # Author: mole
    # Date:2012-2-8
    echo "Welcome!";
?>
3、以 /* 开头,以 * / 结束的多行注释。例如:
<?php
    /*
      下面是计算员工平均
      工资的函数

    * /
    calculate();

?>
注:上面*和/之间的空格应该是没有的

很多PHP类库在读取中文的xls、csv文件时会有问题,网上找了下资料,发现PHPExcel类库好用。现将PHPExcel读写Excel的方法分别叙述,详细请见本文。

本文实例讲述了PHP中使用PHPExcel读写excel(xls)文件的方法,非常实用。分享给大家供大家参考之用。具体方法如下:

很多PHP类库在读取中文的xls、csv文件时会有问题,网上找了下资料,发现PHPExcel类库好用,官网地址为:http://phpexcel.codeplex.com/。现将PHPExcel读写Excel的方法分别叙述如下:

1、读取xls文件内容

 代码如下复制代码

<?php

  //向xls文件写入内容

  error_reporting(E_ALL);

  ini_set('display_errors', TRUE); 

  include'Classes/PHPExcel.php'     

  include'Classes/PHPExcel/IOFactory.php'

  //$data:xls文件内容正文

  //$title:xls文件内容标题

  //$filename:导出的文件名

  //$data和$title必须为utf-8码,否则会写入FALSE值

  functionwrite_xls($data=array(),$title=array(),$filename='report'){

    $objPHPExcel=newPHPExcel();

    //设置文档属性,设置中文会产生乱码,需要转换成utf-8格式!!

    // $objPHPExcel->getProperties()->setCreator("云舒")

               // ->setLastModifiedBy("云舒")

               // ->setTitle("产品URL导出")

               // ->setSubject("产品URL导出")

               // ->setDescription("产品URL导出")

               // ->setKeywords("产品URL导出");

    $objPHPExcel->setActiveSheetIndex(0);

     

    $cols='ABCDEFGHIJKLMNOPQRSTUVWXYZ'

    //设置www.jb51.net标题

    for($i=0,$length=count($title);$i<$length;$i++) {

      //echo $cols{$i}.Ƈ'

      $objPHPExcel->getActiveSheet()->setCellValue($cols{$i}.Ƈ',$title[$i]);

    }

    //设置标题样式

    $titleCount=count($title);

    $r=$cols{0}.Ƈ'

    $c=$cols{$titleCount}.Ƈ'

    $objPHPExcel->getActiveSheet()->getStyle("$r:$c")->applyFromArray(

      array(

        'font' =>array(

          'bold'  => true

        ),

        'alignment'=>array(

          'horizontal'=> PHPExcel_Style_Alignment::HORIZONTAL_RIGHT,

        ),

        'borders'=>array(

          'top'  =>array(

            'style'=> PHPExcel_Style_Border::BORDER_THIN

          )

        ),

        'fill'=>array(

          'type'   => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,

          'rotation' => 90,

          'startcolor'=>array(

            'argb'=>'FFA0A0A0'

          ),

          'endcolor' =>array(

            'argb'=>'FFFFFFFF'

          )

        )

      )

    );

     

    $i= 0;

    foreach($dataas$d) {//这里用foreach,支持关联数组和数字索引数组

      $j= 0;

      foreach($das$v) { //这里用foreach,支持关联数组和数字索引数组

        $objPHPExcel->getActiveSheet()->setCellValue($cols{$j}.($i+2),$v);

        $j++;

      }

       $i++;

    }

    // 生成2003excel格式的xls文件

    header('Content-Type: application/vnd.ms-excel');

    header('Content-Disposition: attachment;filename="'.$filename.'.xls"');

    header('Cache-Control: max-age=0');

 

    $objWriter= PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');

    $objWriter->save('php://output');

  }

  $array=array(

    array(1111,'名称','品牌','商品名','http://www.jb51.net'),

    array(1111,'名称','品牌','商品名','http://www.jb51.net'),

    array(1111,'名称','品牌','商品名','http://www.jb51.net'),

    array(1111,'名称','品牌','商品名','http://www.jb51.net'),

    array(1111,'名称','品牌','商品名','http://www.jb51.net'),

  );

  write_xls($array,array('商品id','供应商名称','品牌','商品名','URL'),'report');

   

?>

2、向xls文件写内容

 代码如下复制代码

<?php

  //获取数据库数据(mysqli预处理学习)

  $config=array(

    'DB_TYPE'=>'mysql',

    'DB_HOST'=>'localhost',

    'DB_NAME'=>'test',

    'DB_USER'=>'root',

    'DB_PWD'=>'root',

    'DB_PORT'=>񠁚',

  );

  functiongetProductIdByName($name) {

    global$config;

    $id= false;

     

    $mysqli=newmysqli($config['DB_HOST'],$config['DB_USER'],$config['DB_PWD'],$config['DB_NAME']);

    if(mysqli_connect_error()) { //兼容 < php5.2.9 OO way:$mysqli->connect_error

      die("连接失败,错误码:".mysqli_connect_errno()."错误信息:".mysqli_connect_error());

    }

    //设置连接数据库的编码,不要忘了设置

    $mysqli->set_charset("gbk");

    //中文字符的编码要与数据库一致,若没设置,结果为null

    $name= iconv("utf-8","gbk//IGNORE",$name);

    if($mysqli_stmt=$mysqli->prepare("select id from 137_product where name like ?")) {

      $mysqli_stmt->bind_param("s",$name);

      $mysqli_stmt->execute();

      $mysqli_stmt->bind_result($id);

      $mysqli_stmt->fetch();

      $mysqli_stmt->close();

    }

    $mysqli->close();

    return$id; //得到的是gbk码(同数据库编码)

  } 

  $id= getProductIdByName('%伊奈卫浴伊奈分体座便器%');

  var_dump($id);

?>

希望本文所述对大家的PHP程序设计有所帮助

本文详细介绍了一个php有道翻译api调用方法实例,调用之前我们需申请一个有道翻译API数据接口的key。想知道的同学可以看看下文。

本文实例讲述了php有道翻译api调用方法,这里我们利用了file_get_contents函数直接读取由api返回的数据进行处理,分享给大家供大家参考。具体分析如下:

调用之前我们需申请一个有道翻译API数据接口的key,地址如:

http://fanyi.youdao.com/openapi?path=data-mode

方法说明,数据接口:

http://fanyi.youdao.com/openapi.do?keyfrom=&key=&type=data&doctype=&version=1.1&q=要翻译的文本

参数说明:

type - 返回结果的类型,固定为data

doctype - 返回结果的数据格式,xml或json或jsonp

version - 版本,当前最新版本为1.1

q - 要翻译的文本,不能超过200个字符,需要使用utf-8编码

errorCode:

0 - 正常

20 - 要翻译的文本过长

30 - 无法进行有效的翻译

40 - 不支持的语言类型

50 - 无效的key

PHP实例代码如下:

 代码如下复制代码
$url = "http://fanyi.youdao.com/openapi.do?keyfrom=xujiangtao&key=1490852988&type=data&doctype=json&version=1.1&q=".$content;   
$list = file_get_contents($url);
$js_de = json_decode($list,true);

注意:使用API key 时,请求频率限制为每小时1000次,超过限制会被封禁.

如果您的应用确实需要超过每小时1000次请求,请与 translate-service@corp.youdao.com 联系, 并提供您的应用的详细信息,名称、功能、网站地址、使用API的方式、API key、预计访问频率、是否商业行为、截屏等等,以及该应用访问有道翻译API时所使用的服务器IP,审核通过后可放宽访问限制.

[!--infotagslink--]

相关文章

  • iPhone6怎么激活?两种苹果iPhone6激活教程图文详解

    iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14
  • Painter绘制红衣喝酒男水粉画效果教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • Photoshop制作雨中野外孤独行走的一头牛海报教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
  • Painter绘制帅气卡通魔法王子漫画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • 安卓手机app添加支付宝支付开发教程

    支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
  • Illustrator鼠绘堆雪人的孩童矢量插画教程

    今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
  • llustrator绘制扁平化风格卡通警察护士空姐肖像教程

    今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
  • 美图秀秀给照片天空加蓝天白云教程一览

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
  • Illustrator绘制一个方形的录音机图标教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
  • 图解PHP使用Zend Guard 6.0加密方法教程

    有时为了网站安全和版权问题,会对自己写的php源码进行加密,在php加密技术上最常用的是zend公司的zend guard 加密软件,现在我们来图文讲解一下。 下面就简单说说如何...2016-11-25
  • 美图秀秀让你胸丰满起来处理教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
  • photoshop给手绘画调色变换场景后期教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
  • Painter绘制雷神传插画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
  • photoshop简单制作一个搞笑的换脸表情包教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
  • ps怎么使用HSL面板

    ps软件是现在很多人都会使用到的,HSL面板在ps软件中又有着非常独特的作用。这次文章就给大家介绍下ps怎么使用HSL面板,还不知道使用方法的下面一起来看看。 &#8195;...2017-07-06
  • Plesk控制面板新手使用手册总结

    许多的朋友对于Plesk控制面板应用不是非常的了解特别是英文版的Plesk控制面板,在这里小编整理了一些关于Plesk控制面板常用的使用方案整理,具体如下。 本文基于Linu...2016-10-10
  • 使用insertAfter()方法在现有元素后添加一个新元素

    复制代码 代码如下: //在现有元素后添加一个新元素 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement){ parent.appendChild(newEl...2014-05-31
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • 使用percona-toolkit操作MySQL的实用命令小结

    1.pt-archiver 功能介绍: 将mysql数据库中表的记录归档到另外一个表或者文件 用法介绍: pt-archiver [OPTION...] --source DSN --where WHERE 这个工具只是归档旧的数据,不会对线上数据的OLTP查询造成太大影响,你可以将...2015-11-24
  • MySQL中的联合索引学习教程

    联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进...2015-11-24