我对Django很陌生。我的项目名是rango,我已经创建了一个名为'/rango/tagger'的URL来发送一个对象。
在我的java脚本中,我尝试通过发送ajax请求来与此路由通信,如下所示:
function send()
{
obj = {content:$("#content").val()};
$.post('/rango/tagger',obj,function(data){
console.log(data);
})
}
我已将{%csrf_token%}包含在模板中。但是,它给我的错误如下:
Forbidden (CSRF token missing or incorrect.): /rango/tagger
[31/Jan/2016 09:43:29] "POST /rango/tagger HTTP/1.1" 403 2274
views.py中的函数标记器如下:
def tagger(request):
return render(request,'rango/index.html',RequestContext(request))
我也在我的URL模式中定义了它。我怀疑我的函数标记器返回了错误的值或数据(根据其他SO解决方案将HttpResponse(请求)更改为上面的行)。
然而,这似乎对我不起作用。我错在哪里?
或者你可以用一种简单的方法(不需要上面写的代码),但是在输入字段中发送所有的数据:
AJAX请求必须包含csrf,因为它是另一个HTTP请求,所以请复制以下代码:
在发送AJAX请求以设置csrf之前设置好它。
source
Django需要一个csrf令牌来接受post请求。也可以添加属性 ^如果你的}给你的
script
在template
里面,那么{data
。对于人们来说,在include js文件中使用它,可以执行以下操作:
并在包含的
js
文件中使用相关问题 更多 >
编程相关推荐