【发布时间】:2014-04-13 05:50:24
【问题描述】:
我正在使用Phonegap 开发一个使用 Django 后端的应用程序。后端使用csrf,所以我需要我的Phonegap 应用程序使用csrf,这样它才能与Django 一起使用。
我了解到您可以通过 Ajax 使用 csrf,但我无法使其工作。
您能否举个例子告诉我如何做到这一点?
【问题讨论】:
我正在使用Phonegap 开发一个使用 Django 后端的应用程序。后端使用csrf,所以我需要我的Phonegap 应用程序使用csrf,这样它才能与Django 一起使用。
我了解到您可以通过 Ajax 使用 csrf,但我无法使其工作。
您能否举个例子告诉我如何做到这一点?
【问题讨论】:
在文档准备好时,只需在脚本标记中的 html 页面中捕获 csrf_token
var csrf = {{ csrf_token }}
然后像在你的 js 文件中一样通过 ajax 传递参数
$.ajax({
csrfmiddlewaretoken: csrf; ..//});
【讨论】:
phonegap 。 phonegap 是否使用 html 作为模板??
扩展@Zigs 答案。
您可以使用以下方法在服务器(Django)端生成 csrf 令牌:
from django.middleware.csrf import _get_new_csrf_key as get_new_csrf_key
response.set_cookie("csrftoken", get_new_csrf_key())
将此 csrf 令牌用于后续 POST (ajax) 请求。
【讨论】: