php - 从 XMLHttpRequest 动态添加标记内容的首选方式

标签 php javascript ajax

在成功的 xml http 请求后向网页添加动态内容的最佳方法是什么。分解一个更具体的例子:

  • 用户在输入字段中填写数据(例如论坛帖子)
  • 使用ajax技术异步更新数据
  • 论坛帖子立即显示给最终用户

像 Facebook 或 last.fm 这样的网站(当你发布一条消息时,即)将处理过的标记直接发送回 javascript 对象,而不仅仅是处理过的数据。用 jQuery 编写的一个例子是

$('#activeField').html(callback.data);

另一种方法是使用 javascript 动态创建 dom 元素。我觉得这太笨拙了,因为今天没有简单(?)和简单的方法可以做到这一点。同时,直接从服务器发送处理过的标记违反了我们应用程序的设计原则 (MVC),因为在前端 Controller 中包含标记不是首选。

执行此操作的“最佳做法”是什么?谢谢!

最佳答案

At the same time, sending the processed markup directly from the server vioalates our application's design principles (MVC), as having markup in a front controller is not preferred.

我可能没有捕获要点,但是您能不能像往常一样通过在 View 中呈现标记来从服务器发送标记,而不必在 Controller 中添加标记?假设您的 View 机制能够返回呈现的 HTML 而不是立即输出它,您可以检索它并将其添加到数组中,然后调用 json_encode() 并输出它。然后,您可能会使用相同的 View 代码来呈现这段 HTML,而不管它是作为完整页面的一部分还是通过 AJAX 调用获取。

关于php - 从 XMLHttpRequest 动态添加标记内容的首选方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/963906/

相关文章:

javascript - 完全加载后显示窗口

javascript - 如何处理powershell中的错误 'console is undefined'?

javascript - 如何使用枚举的键值定义对象类型

jquery - 如何使用jquery ajax从node.js文件中检索数据

php - 如何在 php 中使用 onclick 事件重定向页面?

php - 如何向mysql数据库插入多行

php - 计算两个日期之间的夜数

javascript - 从 ajax 请求 (jQuery) 到 Code Igniter Controller 的 500 错误

javascript - ajax 调用后获取旧数据(get 方法)Laravel 5.5

php - 既然 copydb 已弃用,如何使用 PHP 复制 MongoDB 数据库