袁绍年轻时:让AJAX跑在Zend Framework中

来源:百度文库 编辑:中财网 时间:2024/05/06 12:06:27
  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');后面的操作也为最基本的操作,不再复述。