如何使用Codeigniter的MVC动态创建DOM元素

时间:2011-10-01 00:34:27

标签: javascript html codeigniter

我理解用于生成页面的代码将放在CI的MVC模式的视图部分中。

我试图理解函数的逻辑流程 1.用户提供输入 2.输入发送到数据库 3.添加另一个DOM元素以显示输入。

例如,就像Facebook一样,当您在某人的状态上留言时,您的信息将被“添加”到该状态的回复链中。

所以在view.php中,我会这样写,当你尝试回复时,会对controller.php进行Ajax调用,然后路由到model.php(这会将新的msg添加到数据库中的状态,在此之后,我从哪里开始?

1 个答案:

答案 0 :(得分:1)

在客户端,当按下“添加”按钮时,消息将通过Ajax发送回服务器。服务器处理消息,并将结果返回给客户端。现在您有两个选择:

  • 服务器只响应成功或失败。如果失败,您的JavaScript会显示错误消息,如果成功,您会将消息附加到列表中(使用您发送给服务器的值)
  • 服务器响应所有应附加的数据(比如消息,作者,日期......)。服务器可以返回JSON这样的数据,并且由于JSON = JavaScript Object Notation,JavaScript可以轻松地解析它。使用该数据,您可以构造新节点并附加它。

JSON响应可能如下所示:

{
 message: 'I like the new picture!',
 author : 'William',
 date : '2011-10-9' 
}

然后用JavaScript解析它。引用此问题以解析示例:Parse JSON in JavaScript?

我建议您使用第二个选项,因为服务器端可能会进行一些消息过滤/清理,并且向用户显示的最终结果可能与他输入的内容不同。

我没有使用CodeIgniter,而是使用Zend,它有一些很好的逻辑可以将响应类型从HTML更改为JSON或XML。这个问题可能会对您有所帮助:codeigniter JSON