搜索
首页web前端js教程Zend Framework框架中实现Ajax的方法示例
Zend Framework框架中实现Ajax的方法示例Jun 28, 2017 pm 03:34 PM
ajaxframeworkzend

这篇文章主要介绍了Zend Framework框架中实现Ajax的方法,结合实例形式详细分析了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(&#39;.&#39; . PATH_SEPARATOR .&#39;../library&#39; . PATH_SEPARATOR . get_include_path() . PATH_SEPARATOR . &#39;../application/modules/default/models&#39; . PATH_SEPARATOR . &#39;../application/modules/admin/models&#39;);
require_once &#39;Zend/Controller/Front.php&#39;;
require_once &#39;Zend/Controller/Router/Route.php&#39;;
$ctrl=Zend_Controller_Front::getInstance();
$ctrl->addModuleDirectory(&#39;../application/modules&#39;);
$ctrl->throwExceptions(true);
$ctrl->dispatch();
?>


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


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


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


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


4.TestController.php //控制器


<?php
  require_once &#39;Zend/Controller/Action.php&#39;;
  require_once &#39;Zend/View.php&#39;;
  require_once &#39;News.php&#39;;
  require_once &#39;TestDbCon.php&#39;;
  class TestController extends Zend_Controller_Action{
    public function ajaxAction(){
      $this->render();
    }
    public function getAjaxAction(){
//      $aaa=$_GET[&#39;q&#39;];
//      $this->view->sid=$_GET[&#39;sid&#39;];
      $aaa=$this->_request->getParam(&#39;q&#39;);
      $this->view->sid=$this->_request->getParam(&#39;sid&#39;);
      $conn=TestDbCon::getTestDbCon();
      $news_tb=new News(array(&#39;db&#39;=>$conn));
      $where=$news_tb->getAdapter()->quoteInto(&#39;title=?&#39;,$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>
<p id="resulte"><b>客户信息将在此处列出。</b></p>
</p>


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


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


以上是Zend Framework框架中实现Ajax的方法示例的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Microsoft NET Framework 安装问题 错误代码 0x800c0006 修复Microsoft NET Framework 安装问题 错误代码 0x800c0006 修复May 05, 2023 pm 04:01 PM

.NETFramework4是开发人员和最终用户在Windows上运行最新版本的应用程序所必需的。但是,在下载安装.NETFramework4时,许多用户抱怨安装程序在中途停止,显示以下错误消息-“ .NETFramework4hasnotbeeninstalledbecauseDownloadfailedwitherrorcode0x800c0006 ”。在您的设备上安装.NETFramework4时,如果您也在体验它,那么您就来对了地方

如何在 Windows 11/10 上使用 SetupDiag 识别 Windows 升级问题如何在 Windows 11/10 上使用 SetupDiag 识别 Windows 升级问题Apr 17, 2023 am 10:07 AM

每当您的Windows11或Windows10PC出现升级或更新问题时,您通常会看到一个错误代码,指示故障背后的实际原因。但是,有时,升级或更新失败可能不会显示错误代码,这时就会出现混淆。有了方便的错误代码,您就可以确切地知道问题出在哪里,因此您可以尝试修复。但是由于没有出现错误代码,因此识别问题并解决它变得极具挑战性。这会占用您大量时间来简单地找出错误背后的原因。在这种情况下,您可以尝试使用Microsoft提供的名为SetupDiag的专用工具,该工具可帮助您轻松识别错误背后的真

SCNotification 已停止工作 [修复它的 5 个步骤]SCNotification 已停止工作 [修复它的 5 个步骤]May 17, 2023 pm 09:35 PM

作为Windows用户,您很可能会在每次启动计算机时遇到SCNotification已停止工作错误。SCNotification.exe是一个微软系统通知文件,由于权限错误和点网故障等原因,每次启动PC时都会崩溃。此错误也以其问题事件名称而闻名。因此,您可能不会将其视为SCNotification已停止工作,而是将其视为错误clr20r3。在本文中,我们将探讨您需要采取的所有步骤来修复SCNotification已停止工作,以免它再次困扰您。什么是SCNotification.e

Microsoft .NET Framework 4.5.2、4.6 和 4.6.1 将于 2022 年 4 月终止支持Microsoft .NET Framework 4.5.2、4.6 和 4.6.1 将于 2022 年 4 月终止支持Apr 17, 2023 pm 02:25 PM

已安装Microsoft.NET版本4.5.2、4.6或4.6.1的MicrosoftWindows用户如果希望Microsoft将来通过产品更新支持该框架,则必须安装较新版本的Microsoft框架。据微软称,这三个框架都将在2022年4月26日停止支持。支持日期结束后,产品将不会收到“安全修复或技术支持”。大多数家庭设备通过Windows更新保持最新。这些设备已经安装了较新版本的框架,例如.NETFramework4.8。未自动更新的设备可能

jquery ajax报错403怎么办jquery ajax报错403怎么办Nov 30, 2022 am 10:09 AM

jquery ajax报错403是因为前端和服务器的域名不同而触发了防盗链机制,其解决办法:1、打开相应的代码文件;2、通过“public CorsFilter corsFilter() {...}”方法设置允许的域即可。

Nginx中404页面怎么配置及AJAX请求返回404页面Nginx中404页面怎么配置及AJAX请求返回404页面May 26, 2023 pm 09:47 PM

404页面基础配置404错误是www网站访问容易出现的错误。最常见的出错提示:404notfound。404错误页的设置对网站seo有很大的影响,而设置不当,比如直接转跳主页等,会被搜索引擎降权拔毛。404页面的目的应该是告诉用户:你所请求的页面是不存在的,同时引导用户浏览网站其他页面而不是关掉窗口离去。搜索引擎通过http状态码来识别网页的状态。当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引。而如果返回200或302状态码,搜索引擎就会为该链接建立索引

什么是ajax重构什么是ajax重构Jul 01, 2022 pm 05:12 PM

ajax重构指的是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更合理,提高软件的扩展性和维护性;Ajax的实现主要依赖于XMLHttpRequest对象,由于该对象的实例在处理事件完成后就会被销毁,所以在需要调用它的时候就要重新构建。

适用于 Windows 11 的KB5012643破坏了.NET Framework 3.5应用程序适用于 Windows 11 的KB5012643破坏了.NET Framework 3.5应用程序May 09, 2023 pm 01:07 PM

自我们谈论影响安装KB5012643forWindows11的用户的新安全模式错误以来已经过去了一周。这个讨厌的问题并没有出现在微软在发布当天发布的已知问题列表中,因此让所有人都感到意外。好吧,就在您认为情况不会变得更糟的时候,微软为安装此累积更新的用户投下了另一颗炸弹。Windows11Build22000.652导致更多问题因此,这家科技公司警告Windows11用户,他们在启动和使用某些.NETFramework3.5应用程序时可能会遇到问题。听起来很熟悉?不过请不要惊

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境