有没有办法通过django HttpResponse传递json格式的数据?我试图通过原型ajax调用视图,并返回json格式的数据。
谢谢
发布于 2010-07-07 02:04:18
您可以在您的应用程序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')
发布于 2010-07-07 12:35:25
基于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)
这种方法对于表单处理也特别有效。
https://stackoverflow.com/questions/3191375
复制