【发布时间】:2013-04-23 01:25:39
【问题描述】:
我正在使用 CodeIgniter 框架开发一个网站,并希望集成一些 AJAX 调用(使用 jQuery)。
该网站是关于赛马小费的(类似于足球小费,用户可以通过单击按钮提交小费)。我希望避免用户在提交小费时重新加载页面(如果没有 AJAX,他们将不得不一遍又一遍地重新加载页面)。
基本上我的想法是:(如果您有想法,请随时纠正我或给我更好的建议)
- 用户提交了他们的小费(比如第 1 场比赛)
- 表单已提交到服务器端 (PHP),它会检查所有内容。如果没问题,它会返回一个“OK”标志。
- 如果收到“OK”标志,它会向服务器请求 Race #1 的数据
- 服务器收到对 Race #1 数据的请求
- 使用 jQuery,它将 Race #1 数据填充到浏览器中。
我的问题是: 获取 JSON 数据并使用 javascript 将其填充到浏览器中会更好吗?还是最好请求服务器端(在这种情况下为 CodeIgniter)生成特定的 HTML,然后使用 AJAX 获取它并使用 javascript/jQuery 填充它(即:$("div#r1").html(fetched_data))?
我知道 JSON 数据将是轻量级的,但我必须使用 JavaScript 填充数据,这可能更容易或更难,具体取决于要求。
你对这个问题有什么看法?
【问题讨论】:
-
JSON,因为类似于MVC和CodeIgniter,你应该将逻辑与显示分开。为您的 JS 明确定义不同的部分,例如 ajax 请求及其显示方式,将使其更易于维护和测试。如果您想更好地了解这些约定,请查看 Backbone、Underscore 等 JS 库。它们提倡“MVC”JS 风格。
-
为什么要在第 3 步中提出额外的请求?可以在第 2 步中与标志一起返回数据。也可以在 json 中嵌入 html....您的问题中未建议的另一个选项。
标签: jquery ajax json codeigniter