动态盒子的最佳方式

时间:2011-10-11 08:06:37

标签: php zend-framework

大家好我是新手问题:) - 我目前正在使用PHP / Zend,现在我需要在我的一个页面中显示表单和其他内容。我不希望页面重新加载,我不能使用弹出窗口,所以最好的选择是动态显示当前页面中间的“方块”,此表单正在加载...我可以把我的页面(表格,文字,等等)拉到这个广场上。

为了保持与旧版/新版和不同浏览器的兼容性,最佳选择是什么? DOJO - 已经在Zend,JQuery或HTML5 / CSS3中?此外,如果有人能指出我在哪里可以找到这些信息的参考,那就太棒了!

1 个答案:

答案 0 :(得分:1)

AJAX是最常用的手段(Asynchronous Javascript和Xml),它使用Javascript来轮询其他脚本(可以是.php页面),然后根据请求返回预定义的输出 - 这个输出可以是注入的内容进入页面,或者数据然后可以由您的页面解释为另一个动作(即来自另一个页面的输出等)。

在这种情况下,您的.php页面可能包含头部的JS(javascript),无论是链接还是内联,其中包含启动AJAX请求的详细信息 - 即,触发频率或触发时间(按下按钮等),通过什么方式(POST或GET),发送的内容(您希望的任何其他变量),目标脚本是什么(将处理请求并输出所需内容/数据的脚本),以及响应时要执行的操作收到(即页面上的哪个元素应该用响应更新)。

关于AJAX的一点点:

http://webdesign.about.com/od/ajax/a/aa101705.htm

http://webtrends.about.com/od/web20/a/what-is-ajax.htm

可能最简单的方法是使用一个预先存在的Javascript库,如无处不在的jQuery(jquery.com),有成千上万的教程,虽然你需要做一些Javascript编程,库意味着您可以依赖相当简单的语法(就像$('#myelement').load('mypage.php')一样简单):

http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/

http://www.devirtuoso.com/2009/07/beginners-guide-to-using-ajax-with-jquery/

http://www.sitepoint.com/ajax-jquery/

http://yensdesign.com/2008/12/how-to-load-content-via-ajax-in-jquery/

简单来说:

  1. 您的php页面包含需要更新的元素(区域)(第A页)
  2. 构建另一个PHP脚本,输出您想要“刷新”的内容,例如每次运行时都会发布最新的新闻报道(第B页)
  3. 链接到标题部分(第A页)中的jQuery库
  4. 在页面A的标题部分写一个简单的jquery函数,它表示每X秒/分钟(或按需),运行一个AJAX请求来获取页面B的内容并插入页面中的元素(DIV) A
  5. --- ---更新

    如果您希望使用DOJO而不是jQuery,那么还有大量可用的资源:

    http://dojotoolkit.org/documentation/tutorials/1.6/ajax/

    http://www.infernodevelopment.com/dojo-ajax-tutorial

    http://startdojo.com/2010/01/02/simple-ajax-form-tutorial/

    http://today.java.net/pub/a/today/2006/04/27/building-ajax-with-dojo-and-json.html

    http://www.ibm.com/developerworks/web/tutorials/wa-dojotoolkit/index.html

    http://www.roseindia.net/dojo/