我想知道进行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可能会出现诸如非转义字符等问题,而且一般来说它只是一团糟。
由于
答案 0 :(得分:7)
如果您要求的内容仅用于生成HTML,那么只需返回HTML作为响应即可。无需涉及客户端,您的服务器在这一代中总是会更快,特别是在使用缓存的情况下。
如果您需要来自响应的数据,即稍后您可以反省以在JS中做出决定的内容,那么您需要返回JSON并处理任何HTML客户端的生成。
基本上,如果您可以使用返回的平面HTML,请执行此操作。
答案 1 :(得分:0)
我认为这取决于......在大多数情况下(特别是如果你关心缓慢(呃)连接的移动用户)传输更少的数据比解析JSON和生成HTML客户端所花费的时间更重要
推荐阅读:http://ryanflorence.com/2012/client-v-server-templating/