Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django将json格式的数据返回原型ajax_Django_Django Templates - Fatal编程技术网

django将json格式的数据返回原型ajax

django将json格式的数据返回原型ajax,django,django-templates,Django,Django Templates,有没有办法通过django HttpResponse传递json格式的数据。我试图通过原型ajax调用视图并返回json格式的数据 谢谢您可以在app views.py中执行类似操作 import json def ajax_handler(req, your_parameter): json_response = json.dumps(convert_data_to_json) return HttpResponse(json_respon

有没有办法通过django HttpResponse传递json格式的数据。我试图通过原型ajax调用视图并返回json格式的数据


谢谢

您可以在app 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')

基于Lombo的答案,您可能希望利用该方法。这将检查HTTP_X_REQUESTED_的头是否为XmlHttpRequest

这是避免向常规GET发送json响应的一个好方法——我想这在最坏的情况下只会让您的用户感到困惑,但也允许您对ajax和非ajax请求使用相同的视图。这种方法可以更容易地构建应用程序

例如:

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)
这种方法对于表单处理也特别有效