浮世日记

:::我的浮世记:::不如这样  我们回到拥抱的现场  证明感情总是善良  残忍的是人会成长   

· 所有网志 · 生活 · 学习 · 事业 · 爱情 · 也许还有其他 · 未分类 ·
日历
站内搜索
友情链接
· 我的共享界
· 用心去爱
· 朱古力橡皮糖
· 老徐

订阅 RSS

0023272

歪酷博客

« 上一篇: 我该补课了 下一篇: 用JSON做的无限目录显示 »
木木 @ 2006-08-03 15:13

  Zend Framework无疑已经成为PHP新一代框架的代表,目前已经发布了预览版0.1.5。Zend Framework已经超过.NET Framework,成为排名第一的Framework。Zend Framework基于MVC模式,URL非常的清晰漂亮,特色是controller使用了URL的重定向控制,但是网上都说Zend Framework不支持AJAX,其实很明显,在Zend Framework中已经没有了xxx.php?xxx=xxx&xxx=xxx这样的URL,取而代之的是/xxx/xxx/xxx/xxx这样的URL,这样就对AJAX的使用造成了障碍。

  我查阅了很多资料,目前世界上还没有让AJAX跑在Zend Framework下的解决办法。我没有什么能力去改写Zend Framework,只能利用现有的技术去实现。昨夜想到了一个取巧的办法,并在今天的试验中成功。

  其实实现方式也是利用重定向技术,从Zend Framework的URL规则中明白,类似/aaa/bbb/ccc/ddd/eee/fff这样的URL,第一个aaa是controller名称,第二个bbb是action名称,后面的是参数ccc/ddd代表叫ccc的变量值为ddd,eee/fff代表叫eee的变量值为fff
  
  对于GET方式,生成的地址串由以前的aaa/bbb.php?ccc=ddd&eee=fff变成/aaa/bbb/ccc/ddd/eee/fff,在AaaController的bbbAction中使用getParams()接收参数,形成Array,然后进行操作,后面的操作就是AJAX最基本的一些操作了。

  而对于POST方式,情况则不一样了。URL只使用/aaa/bbb,而send的值和以前的方式一样,用&连接。取得参数可以先$this->post = new Zend_Filter_Input($_POST); ,然后$postccc = $this->post->noTags('ccc');后面的操作也为最基本的操作,不再复述。


评论 / 个人网页 / 扔小纸条
*昵称

已经注册过? 请登录

Email
网址
*评论