3
A
回答
14
你可以做这样的事情你的应用程序中views.py
import json
def ajax_handler(req, your_parameter):
json_response = json.dumps(convert_data_to_json)
return HttpResponse(json_response,mimetype='application/json')
6
大厦Lombo的答案,你可能想利用request.is_ajax()
方法。这将检查HTTP_X_REQUESTED_WITH标头是否为XmlHttpRequest。
这是避免向常规GET发送json响应的好方法 - 我猜最糟糕的情况是您的用户感到困惑,但也可以让您对ajax和非ajax请求使用相同的视图。这种方法使构建degrade gracefully的应用程序变得更加容易。
例如:
def your_view(request):
data_dict = # get some data
if request.is_ajax():
# return json data for ajax request
return HttpResponse(json.dumps(data_dict),mimetype='application/json')
# return a new page otherwise
return render_to_response("your_template.html", data_dict)
此方法特别适用于表单处理也。
+0
感谢您的信息! – icn 2010-07-08 00:51:44
req未使用,Lombo – whi 2013-01-16 02:10:24