AJax技术

ThinkPHP Ajax 使用详解及实例

字号+ 作者:H5之家 来源:H5之家 2015-10-04 16:40 我要评论( )

ThinkPHP 内置了对 Ajax 的支持,可以方便的使用。下面以一个具体的例子来介绍 ThinkPHP Ajax 的使用 ...

5iDev    ThinkPHP教程     ThinkPHP Ajax 使用详解及实例

ThinkPHP Ajax 使用详解及实例ThinkPHP Ajax

ThinkPHP 内置了对 Ajax 的支持,可以方便的使用。下面以一个具体的例子来介绍 ThinkPHP Ajax 的使用。

提示

本文涉及的内容,适用于 ThinkAjax+mootools 来实现 Ajax ,使用 JQuery 来实现 ThinkPHP Ajax 请参见《ThinkPHP JQuery Ajax》。

Js 类库

要使用 ThinkPHP Ajax,需要加载的 Js 类库有:

<load href="/Public/Js/Base.js" /> <load href="/Public/Js/prototype.js" /> <load href="/Public/Js/mootools.js" /> <load href="/Public/Js/Ajax/ThinkAjax.js" />

这些 Js 类库可以在官方示例的 Public/Js 下获得,在本节实例代码下载包也提供,请确认在进行 Ajax 测试之前,正确加载了以上 Js 类库。

ajaxReturn 返回

ThinkPHP 提供了 ajaxReturn 方法用于 Ajax 调用后返回数据给客户端,语法如下:

$this->ajaxReturn(mixed data, string info, boolean status, string type); 参数说明:

参数 说明

data 返回给客户端的数据。

info 提示信息。

status 返回状态,一般来说 1 表示执行成功,0 表示不成功。

type 指定 ajax 返回类型:JSON|XML,如果不指定,则取 DEFAULT_AJAX_RETURN 配置,该配置默认为 JSON 。

ThinkPHP Ajax 实例

下面的小例子,输入用户名,服务器端根据用户名来 Ajax 返回不同的信息,该例子可扩展为 Ajax 的用户登陆检测功能。

html 文件

form 表单及 Js 处理函数:

<script language="JavaScript"> function complete(data,status){ if (status==1){ $('list').innerHTML = '<span style="color:blue">'+data+'你好!</span>'; } } </script> <div id="result"></div> <div id="list"></div> <form name="login" id="form1" method="post""> 用户名: <input type="text" name="username" /><br /> <input type="button" onClick="ThinkAjax.sendForm('form1','-Article/checkLogin',complete,'result');" val ue="提 交" /> </form> ThinkAjax.sendForm() 函数参数说明: 服务端操作

假定服务端对用户名的检测操作为 Public/checkLogin :

public function checkLogin(){ if ($_POST['username'] == 'admin'){ $this->ajaxReturn($_POST['username'],'用户名正确~',1); }else{ $this->ajaxReturn('','用户名错误!',0); } }

当表单中输入的用户名是 admin 的时候,返回正确信息,否则返回用户名错误的提示。更进一步的,可以将上述 checkLogin 方法进行扩展成为用户登陆检测功能模块。

ThinkPHP Ajax 实现流程说明

以上简单讲述了 ThinkPHP 的 Ajax 实现过程,上面的实例限于篇幅仅列出了关键代码,要查看该实例完整代码,请参阅《ThinkPHP Ajax 实例代码》,或者点击此处下载完整代码。

本章节内容共分 4 部分:

  • 1. ThinkPHP Ajax 使用详解及实例
  • 2. ThinkPHP success/error 方法返回 Ajax 信息
  • 3. ThinkPHP JQuery Ajax 的实现实例
  • 4. ThinkPHP Ajax 实例源代码
  • 上一节
  • 下一节
  • 查看评论

    #1楼 [2011-06-24 14:31]  草根胖小伙

    thinkphp的教程在网上很难找到,谢谢你们

    #2楼 [2011-09-11 19:36]  798983443@qq.com

    dsfs

    #3楼 [2011-11-24 17:41]  TPer

    很好的教程

    #4楼 [2011-11-27 15:31]  thinkphper

    很好,谢谢你们

    #5楼 [2011-12-19 14:43]  小刀

    请问如何用thinkphp做搜索下拉提示框啊,就是类似百度搜索时下拉提示的

    #6楼 [2011-12-21 22:39]  笑道

    这个东西的却很好谢谢咯这个东西的却很好谢谢咯这个东西的却很好谢谢咯这个东西的却很好谢谢咯这个东西的却很好谢谢咯这个东西的却很好谢谢咯这个东西的却很好谢谢咯

    #7楼 [2012-01-10 15:06]  xiao

    火狐,谷歌不兼容阿。。。

    #8楼 [2012-02-15 12:54]  sssss

    不错,兼容性有待提高

    #9楼 [2012-04-26 17:40]  蘑菇街女装网

    这个教程很详细,跟W3School差不多了,好!

    #10楼 [2012-04-26 17:40]  蘑菇街女装网

    这个教程很详细,跟W3School差不多了,好!

    #11楼 [2012-03-24 17:26]  下个路口见伟

    受教了

    #12楼 [2012-03-30 13:16]  888888888

    thinkphp其实很简单 只要边看手册 边做基本上没有什么很大的问题

    #13楼 [2012-05-04 11:20]  谁敢点我

    很不错的教程。学习了、

    #14楼 [2012-05-04 11:20]  谁敢点我

    很不错的教程。学习了、

    #15楼 [2012-05-22 09:43]  tp

    真的很不错啊。对tp也有很大的兴趣。越来越喜欢学习了

    #16楼 [2012-05-31 15:19]  tp_vir

    讲的非常好,非常清晰易懂,思路简单明了!必须顶!

    #17楼 [2012-05-31 17:27]  惟有你礼品网

    这个教程好啊!

    #18楼 [2012-06-01 10:03]  Aaron

    各位。status返回1的时候。为什么定向失败?
    window.loaction.href='XXx';没有效果,alert()也一样啊。。求解

    #19楼 [2012-06-01 10:52]  老简

    学习学习

    #20楼 [2013-05-05 10:58]  泪落无痕

    我用ajax做了一个留言板的显示但是一刷新留言显示就没有了,这是怎么回事啊

    #21楼 [2014-03-23 16:08]  哥哥

    风继续吹

    #22楼 [2014-06-08 21:11]  小何

    为什么我的不出结果

    #23楼 [2014-11-27 20:47]  19楼

    找不到与以下网址对应的网页:file:///E:/PHP技术/技术文章/thinkphp_ajax/thinkphp_ajax/-Article/checkLogin

    #24楼 [2014-08-07 22:55]  德克

    后悔现在才看到,我还是自己傻傻地在js文件中用$.ajax实现的

    #25楼 [2014-12-03 11:19]  轩辕剑晨

    很不错,学习了

    #26楼 [2015-01-20 15:46]  东方勃起

    thinkPHP3.2的支持吗?为什么我的一直显示“服务器返回数据出错!”

    #27楼 [2015-05-11 20:13]  love

    love `

    #28楼 [2015-05-11 20:14]  Test

    <script>alert("Love you");</script>

    #29楼 [2015-06-17 15:25]  1

    111

    #30楼 [2015-07-19 16:00]  菜鸟

    thinkphp3.2版本可以吗?

    #31楼 [2015-08-28 10:53]  99

    999非常好

    发表评论

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    网友点评