在Zend Framework 中实现Ajax
来源:互联网 发布:get请求 数据体 编辑:程序博客网 时间:2024/04/29 13:51
开发平台: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 //入口文件<?phpset_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 Framework 中实现Ajax
- 让AJAX跑在Zend Framework中
- Zend Framework中应用Ajax
- 在 Nginx 中配置 Zend Framework
- 在ZF2中实现Zend Framework的Controller init/preDispatch/postDispatch方法
- 在ZF2中实现Zend Framework的Controller init/preDispatch/postDispatch方法
- 在ZF2中实现Zend Framework的Controller init/preDispatch/postDispatch方法
- 在Zend Framework中自动加载(Learning Zend Framework翻译2)
- 在Zend Framework 应用中使用Smarty做模版引擎
- 聊聊Zend Framework中Front Controller的Singleton实现
- 在zend Framework 中使用Smarty,并使用zend的助手功能
- Basic AJAX Example for Zend Framework
- 浅谈Zend Framework结合Ajax Web开发
- Zend Framework 在 apache 配置建立虚拟主机
- WITH ROLLUP在zend framework中的写法
- 基于zend framework的留言本实现
- Zend framework 实现登陆、注册实例
- zend framework 实现各种后台访问验证
- 将http://www.sina.com/的HTML保存到c://shengchengdeHTML.html
- div中图片水平和垂直居中并自适应宽高
- 关于Karrigell中文问题
- 再谈交换机数据劫持
- 在多线程中如何调用Winform
- 在Zend Framework 中实现Ajax
- 新浪QQ等站天气预报代码调用大全
- 用IPicture显示图片
- Debug和Release有什么区别
- 关于软件服务化(SaaS)
- escape的问题
- 算法——动态规划
- 了解全新的 Eclipse 包管理机制
- Liang的Rootkit习作-ZION