0

我写了一个简单的 Django 视图:

from django.http import HttpResponse
from django.utils import simplejson
from django.views.decorators.csrf import csrf_exempt  # just add

@csrf_exempt
def handleRequest(request, intervention_code):
    result = {}
    norm_str = ''
    ........
    return HttpResponse(simplejson.dumps(result), mimetype='application/json')

该视图不使用模板,仅查询数据库并以 JSON 格式返回数据。我可以轻松地检索 JSON 对象http://myserver/myurl

不幸的是,我必须使用 javascript 库来发出 POST AJAX 请求以获取相同的 JSON 对象,并且我遇到了典型的 Django CSRF 失败。

当我这样做时:curl -d "sometext=foobar" http://myserver/myurl/我得到了相同的结果。我从 Django 文档中实现了所有推荐的 CSRF 中间件,但仍然出现错误。

4

1 回答 1

2

Django 的文档描述了如何让 CSRF 与 Ajax 一起工作。

于 2012-11-27T22:38:45.413 回答