如何向视图发出ajax请求,将模板数据返回给jquery调用。
作为一个例子,我正在以这种方式进行ajax调用。
<script>
function getProfile(username) {
$.getJSON("/profiles/"+username, { username:{{ username }}}, function(json){
alert("Was successful?: " + json['success']);
});
}
function addClickHandlers() {
$(".person-name").click( function()
getProfile(result.user.username) });
}
$(document).ready(addClickHandlers);
</script>
我的django观点
def profiles_view(request, username):
# if username:
# selected_user = User.objects.get(username = username)
results = {'success':False}
if request.method == u'GET':
GET = request.GET
if GET.has_key(u'username'):
results = {'success':True}
json = simplejson.dumps(results)
return HttpResponse(json, mimetype='application/json')
我可以将模板视图profiles_view.html
传递给HttpResponse吗?我不确定我的模板在哪里?
答案 0 :(得分:0)
如果您需要HTML视图和JSON视图,则可能需要两个响应。第一个来自TemplateResponse
,第二个来自HttpResponse
。两个请求似乎效率低下,但第一个请求是一次性的,之后您只需要使用AJAX请求进行JSON响应。
您可以通过以下方式返回模板:
return TemplateResponse(request, "profiles_view.html", results)
答案 1 :(得分:0)
如果您打算通过ajax传递数据,则不需要模板。