0

我想知道进行 ajax 调用以更新用户名列表的最佳选择是什么。我可以

一种。进行ajax调用并取回用户对象并构建html并将其附加到div中

build_html = function(obj) {
    html = 'username - ' + obj.username
    $('#container').append(html);
}

湾。做一个ajax调用并让django返回html。

response = render_to_response ('user_item_template.html', {'user' : user})
return response._container

如果响应成功,我会将其附加到容器 div 中。

使用方法“b”是否有任何缺点,因为根据情况在 javascript 中构建 html 可能会遇到问题,例如未转义的字符,而且通常很混乱。

谢谢

4

2 回答 2

7

如果您请求的内容仅用于生成 HTML,则只需将 HTML 作为响应返回。无需涉及客户端,并且您的服务器在生成时总是会更快,尤其是在使用缓存的情况下。

如果您需要来自响应的数据,即您可以稍后自省以在您的 JS 中做出决策的东西,那么您需要返回 JSON 并处理任何 HTML 客户端的生成。

基本上,如果您可以通过返回平面 HTML 来解决问题,那就去做吧。

于 2012-07-03T19:55:05.957 回答
0

我想说这取决于...在大多数情况下(特别是如果您关心连接速度较慢的移动用户)传输较少的数据比解析 JSON 和生成 HTML 客户端所花费的时间更重要。

推荐阅读:http ://ryanflorence.com/2012/client-v-server-templating/

于 2013-01-10T11:47:43.343 回答