【问题标题】:Integrating AJAX and PHP集成 AJAX 和 PHP
【发布时间】:2010-09-15 07:52:05
【问题描述】:

我已经编写 PHP Web 应用程序有一段时间了,并且遇到了非常好的 Javascript 框架,例如 JQuery、ExtJS、Scriptaculous 等。关于 PHP 方面我不能说同样的话 - 我总是这样编码从头开始的客户端-服务器对话框的一部分。

我使用过 CodeIgniter (http://codeigniter.com/),它很不错,但不能将 AJAX 作为一个整体来处理 - 而是提供输入检查、图像处理和一些输出帮助程序。

是否有标准的 PHP 库/类/框架可以处理/集成 Javascript 框架?可以捕获用户的响应/请求、验证身份和输入、提供进度状态、跟踪会话、注意异步事件等的东西。

【问题讨论】:

    标签: php ajax frameworks integration


    【解决方案1】:

    Zend FrameworkDojo Toolkit 集成在一起。我还没有使用过最新的 Zend 框架,但我知道在过去,它已被证明是可靠的。

    【讨论】:

    • 我本来打算建议这个 - 所以我只会支持你:-)
    • 同意...虽然我还没有使用 Dojo 集成,但我的同事已经并且似乎很喜欢它。
    【解决方案2】:

    可能有一个,但我无法想象为什么。从服务器的角度来看,AJAX 请求的外观和行为就像 HTTP 请求。您可以获取和设置 cookie。您期望从 HTTP 请求中获得的所有环境变量都在那里。所有 HTTP 谓词都与任何标头字段一样工作。

    【讨论】:

    • 除非您很少希望返回完整的 HTML 响应。
    • 此外,AJAX 请求是为各种目的而发送的——而 HTTP get/post 只是为了检索一个 HTML 页面。 (并不是说它们不能以其他方式使用。)
    • AJAX 使用 HTTP,因此 HTTP get/post 仅用于检索 HTML 页面是不正确的。您知道如何将所有这些 HTML 标记放入您的 PHP 文件吗?好吧,你不必那样做。即使首字母缩略词是超文本预处理器,您也可以使用 PHP 生成任何类型的文本,包括 JSON 或 XML。
    【解决方案3】:

    在下一个主要版本 1.5 中,CakePHP 将附带 jQuery。

    【讨论】:

      【解决方案4】:

      Sajax 是众多库之一,这些库提供了一种将回调从客户端 (JS) 链接到服务器端 (PHP) 的简单方法。另一个类似的库是 JPSpan,但我不确定它是否仍然受到积极支持。我只对这两个库做了一些小实验,所以你的里程可能会有所不同。

      【讨论】:

        【解决方案5】:

        一旦你理解了这个概念,使用库就很方便了,而且你可能会这样做,但对于阅读本文的其他人,我建议先手动进行几次并真正理解它。我也推荐这本书Bulletproof AJAX。它相当简短,写得很好,不仅描述了如何使用 AJAX,使用 PHP 作为编程语言,还描述了如何创建利用 AJAX 但在用户关闭 JavaScript 时仍然可以正常工作的页面。

        【讨论】:

          【解决方案6】:

          当我将 JavaScript 或 HTML 返回到 AJAX 浏览器时,我所做的唯一区别是不输出标头或任何额外数据。 (我使用的错误处理在调试时会输出错误,所以我也禁用了它。)

          【讨论】:

            【解决方案7】:

            是的,PHP 可以为 Ajax 输出 XML 和 JSON,但并非所有 PHP 框架都同样支持 JSON/XML。

            例如:我在 Drupal (4.7) 中遇到了一个问题,在输出 JSON 响应后 PHP 会话将被删除。 (HTML 输出代码明确关闭会话,这是必需的,否则会话将被删除。)

            我也很想了解 PHP 框架,这些框架可以更轻松地管理 javascript 代码。甚至一些基本的东西,比如只在需要它的页面上包含 jQuery。或帮助管理最小化/打包 javascript 代码。

            【讨论】:

              【解决方案8】:

              请原谅在旧问题上发帖,但相对较新的框架 Agile Toolkit 是对 OP 的完美答案。

              它允许您创建完全面向对象的 Web-GUI,而无需进入 HTML/JavaScript。

              【讨论】:

                【解决方案9】:

                我强烈推荐你使用 Cjax Framework 100% PHP Side Ajax Framework。

                你永远不会看到一行 JavaScript。

                Cjax 让您在大多数情况下只需一行代码即可完成 ajaxy 的工作。
                Cjax 还集成到 CodeIgniter 中,就像您的手指集成到戒指中一样!

                这是 CodeIgniter 论坛中的一个主题:http://forum.codeigniter.com/thread-65967.html

                Cjax 不是 CodeIgniter 独有的,因为任何网站或应用程序都可以使用它,但它内置了对它的支持。

                还有大量文档:(来自 CodeIgniter wiki):https://github.com/bcit-ci/CodeIgniter/wiki/ajax-framework-for-codeigniter

                【讨论】:

                  猜你喜欢
                  • 2021-12-15
                  • 2011-01-29
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-05-08
                  • 2017-02-23
                  • 2010-12-27
                  • 2016-12-29
                  • 1970-01-01
                  相关资源
                  最近更新 更多