全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Zend Framework框架中实现Ajax的方法示例

本文实例讲述了Zend Framework框架中实现Ajax的方法。分享给大家供大家参考,具体如下:

开发平台:Windows XP SP2
测试平台:FreeBSD 7.0
开发工具:Netbeans 6.1
使用框架:Zend Framework 1.5.2
数据库: MySQL 5.0.51a

所需的数据库表和ZF相关目录以及文件:

一、表:

mysql> select * from news;
+----+-------+---------------------+
| id | title | add_time
| +----+-------+---------------------+
| 22 | rot  | 2008-01-04 00:00:00 |
| 23 | aaa  | 2008-01-04 00:00:00 |
| 24 | rot  | 2008-01-04 00:00:00 |
| 29 | dfeew | 2008-02-27 00:00:00 |
| 26 | jesse | 2008-02-27 00:00:00 |
| 27 | andle | 2008-02-27 00:00:00 |
| 28 | andle | 2008-02-27 00:00:00 |
+----+-------+---------------------+

二、目录:

三、相关文件:

1.index.php //入口文件

2.TestDbCon.phhp //数据库连接文件

3.News.php //抽象出来的数据库表文件

4.TestController.php //控制器

5.ajax.phtml //客户操作页面,包含生成XMLHttpRequest对象,发ajax请求,处理请求,取回服务器返回值等

6.get-ajax.phtml //最后根据由服务器取回的数据生成页面元素

相关文件内容:

1.index.php //入口文件

<?php
set_include_path('.' . PATH_SEPARATOR .'../library' . PATH_SEPARATOR . get_include_path() . PATH_SEPARATOR . '../application/modules/default/models' . PATH_SEPARATOR . '../application/modules/admin/models');
require_once 'Zend/Controller/Front.php';
require_once 'Zend/Controller/Router/Route.php';
$ctrl=Zend_Controller_Front::getInstance();
$ctrl->addModuleDirectory('../application/modules');
$ctrl->throwExceptions(true);
$ctrl->dispatch();
?>

2.TestDbCon.phhp //数据库连接文件

<?php
  require_once 'Zend/Db.php';
  require_once 'Zend/Registry.php';
  class TestDbCon{
    public static function getTestDbCon(){
      $params=array(
      'host'=>'localhost',
      'username'=>'root',
      'password'=>'123456',
      'dbname'=>'test'
      );
      $con=Zend_Db::factory('Pdo_Mysql',$params);
      return $con;
    }
  }
?>

3.News.php //抽象出来的数据库表文件

<?php
/**
 * PHP Template.
 */
require_once 'Zend/Db/Table/Abstract.php';
class News extends Zend_Db_Table_Abstract{
  //  protected $_schema='test';
    protected $_name='news';
    protected $_primary='id';
    protected $_sequence=true;
}
?>

4.TestController.php //控制器

<?php
  require_once 'Zend/Controller/Action.php';
  require_once 'Zend/View.php';
  require_once 'News.php';
  require_once 'TestDbCon.php';
  class TestController extends Zend_Controller_Action{
    public function ajaxAction(){
      $this->render();
    }
    public function getAjaxAction(){
//      $aaa=$_GET['q'];
//      $this->view->sid=$_GET['sid'];
      $aaa=$this->_request->getParam('q');
      $this->view->sid=$this->_request->getParam('sid');
      $conn=TestDbCon::getTestDbCon();
      $news_tb=new News(array('db'=>$conn));
      $where=$news_tb->getAdapter()->quoteInto('title=?',$aaa);
      $this->view->rowSet=$news_tb->fetchAll($where);
      $this->render();
    }
  }
?>

5.ajax.phtml //客户操作页面,包含生成XMLHttpRequest对象,发ajax请求,处理请求,取回服务器返回值等

<script type="text/javascript">
  var xmlHttp
  function showValue(str)
  {
    xmlHttp=getXmlHttpObject();
    if (xmlHttp==null)
    {
      alert ("您的浏览器不支持AJAX.");
      return;
    }
    var url="/test/get-ajax";
    url=url+"/q/"+str;
    url=url+"/sid/"+Math.random();
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
  }
  function stateChanged()
  {
    if (xmlHttp.readyState==4)
    {
      document.getElementById("resulte").innerHTML=xmlHttp.responseText;
    }
  }
  function getXmlHttpObject()
  {
    var xmlHttp=null;
    try
    {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
      // Internet Explorer
      try
      {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (e)
      {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    return xmlHttp;
  }
</script>
<form>
  请选择一位客户:
  <select name="customers" onchange="showValue(this.value)">
  <option value="rot">rot</option>
  <option value="aaa">aaa</option>
  <option value="jesse">jesse</option>
  <option value="andle">andle</option>
  </select>
</form>
<p>
<div id="resulte"><b>客户信息将在此处列出。</b></div>
</p>

6.get-ajax.phtml //最后根据由服务器取回的数据生成页面元素

<?php
  foreach($this->rowSet as $row){
    echo "<div>";
    echo "<ul>";
    echo "<li>";
    echo "id=".$row->id." title=".$row->title." add_time=".$row->add_time;
    echo "</li>";
    echo "</ul>";
    echo "</div>";
  }
 echo $this->sid;
?>

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。


# Zend  # Framework  # 框架  # Ajax  # 解决了Ajax、MySQL 和 Zend Framework 的乱码问题  # ZendFramework2连接数据库操作实例  # Zend Framework数据库操作技巧总结  # Zend Framework入门应用实例详解  # Zend Framework前端控制器用法示例  # Zend Framework路由器用法实例详解  # Zend Framework分发器用法示例  # Zend Framework动作控制器用法示例  # Zend Framework处理Json数据方法详解  # Zend Framework使用Zend_Loader组件动态加载文件和类用法详解  # Zend Framework实现自定义过滤器的方法  # WINDOWS + WAMP + Zend Framework 配置步骤分享  # 程序设计  # 返回值  # 您的  # 相关内容  # 将在  # 所需  # 感兴趣  # 给大家  # 不支持  # 请选择  # 更多关于  # 所述  # 开发工具  # 面向对象  # 操作技巧  # 讲述了  # TestController  # News  # phhp 


相关文章: JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何在七牛云存储上搭建网站并设置自定义域名?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  广州建站公司哪家好?十大优质服务商推荐  如何在云服务器上快速搭建个人网站?  建站之星如何防范黑客攻击与数据泄露?  建站org新手必看:2024最新搭建流程与模板选择技巧  建站之星图片链接生成指南:自助建站与智能设计教程  如何设计高效校园网站?  如何通过.red域名打造高辨识度品牌网站?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  如何用已有域名快速搭建网站?  如何高效利用亚马逊云主机搭建企业网站?  如何用PHP工具快速搭建高效网站?  如何高效完成自助建站业务培训?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  建站之星免费模板:自助建站系统与智能响应式一键生成  如何选择高性价比服务器搭建个人网站?  建站主机服务器选型指南与性能优化方案解析  广平建站公司哪家专业可靠?如何选择?  建站VPS选购需注意哪些关键参数?  香港服务器如何优化才能显著提升网站加载速度?  制作证书网站有哪些,全国城建培训中心证书查询官网?  建站之星CMS五站合一模板配置与SEO优化指南  如何在自有机房高效搭建专业网站?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何在Golang中引入测试模块_Golang测试包导入与使用实践  如何在万网自助建站平台快速创建网站?  如何在IIS中新建站点并解决端口绑定冲突?  c# 在ASP.NET Core中管理和取消后台任务  如何使用Golang安装API文档生成工具_快速生成接口文档  盐城做公司网站,江苏电子版退休证办理流程?  微信小程序 input输入框控件详解及实例(多种示例)  javascript中的try catch异常捕获机制用法分析  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  在线制作视频网站免费,都有哪些好的动漫网站?  如何在香港服务器上快速搭建免备案网站?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何在云虚拟主机上快速搭建个人网站?  定制建站哪家更专业可靠?推荐榜单揭晓  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  ,想在网上投简历,哪几个网站比较好?  如何在万网ECS上快速搭建专属网站?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何在建站之星网店版论坛获取技术支持? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。