Zend Framework框架中实现Ajax的方法示例
发布时间 - 2026-01-11 02:04:58 点击率:次本文实例讲述了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
JavaScript实现Fly Bird小游戏
php json中文编码为null的解决办法
如何在七牛云存储上搭建网站并设置自定义域名?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
如何快速上传建站程序避免常见错误?
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
Laravel如何处理文件下载请求?(Response示例)
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何快速生成橙子建站落地页链接?
Laravel怎么在Controller之外的地方验证数据
详解Oracle修改字段类型方法总结
简单实现Android验证码
香港网站服务器数量如何影响SEO优化效果?
高防服务器租用如何选择配置与防御等级?
如何快速配置高效服务器建站软件?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel怎么连接多个数据库_Laravel多数据库连接配置
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何快速搭建高效香港服务器网站?
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
Python制作简易注册登录系统
音响网站制作视频教程,隆霸音响官方网站?
高端网站建设与定制开发一站式解决方案 中企动力
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
如何挑选高效建站主机与优质域名?
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
JavaScript如何实现错误处理_try...catch如何捕获异常?
Laravel Session怎么存储_Laravel Session驱动配置详解
JavaScript如何实现路由_前端路由原理是什么
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Laravel怎么使用Intervention Image库处理图片上传和缩放
Laravel如何保护应用免受CSRF攻击?(原理和示例)
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
如何用好域名打造高点击率的自主建站?
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
如何确保西部建站助手FTP传输的安全性?
如何在Windows 2008云服务器安全搭建网站?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
青岛网站建设如何选择本地服务器?
制作电商网页,电商供应链怎么做?
如何彻底删除建站之星生成的Banner?

