我写了一个视图来响应浏览器的ajax请求。它是这样写的-
@login_required def no_response(request): params = request.has_key("params") if params: # do processing var = RequestContext(request, {vars}) return render_to_response('some_template.html', var) else: #some error # I want to send an empty string so that the # client-side javascript can display some error string. return render_to_response("") #this throws an error without a template.
我该怎么做?
这是我在客户端处理服务器响应的方式-
$.ajax ({ type : "GET", url : url_sr, dataType : "html", cache : false, success : function(response) { if(response) $("#resp").html(response); else $("#resp").html("<div id='no'>No data</div>"); } });
render_to_response是专门用于呈现模板的快捷方式。如果您不想这样做,只需返回一个空值HttpResponse:
render_to_response
HttpResponse
from django.http import HttpResponse return HttpResponse('')
但是,在这种情况下,我不会这样做- 您正在向AJAX发送信号,指出存在错误,因此您应该返回错误响应(可能是代码400),而可以使用HttpResponseBadRequest代替。
HttpResponseBadRequest