ajax $.post 一直报 Forbidden (CSRF token missing or incorrect.)
由于后台整合类视图代码,所以修改了写法,完了之后用下面的写法写的post请求都报 403 error
$.post(
"{% url 'test_record:select_node_page' ret.uut_id %}",
{
// uut_id: "{{ ret.uut_id }}",
filter: JSON.stringify(filters),
},
function(data){
var retData = JSON.parse(data);
console.log(retData); // DEBUG
$(".chassis tbody").html("");
if(retData.nodes.length){
$(".chassis tbody").append(make_tr_html(retData.chassis, "1"));
retData.nodes.forEach(function(item){
$(".chassis tbody").append(make_tr_html(item, "2"));
});
}else{
$(".chassis tbody").append(make_tr_html(retData.chassis, "3"));
}
$("#uut_id").html(retData.uut_id);
// finished
$('.ajax_container').removeClass("loding");
elem_resize();
}
);
但是后台都加了 @csrf_exempt 装饰器,前台也没有要加 csrf 防御的地方了,不知道为什么还是一直报 403 error,
最后在 stackoverflow 中找到了解决方法:
ajax 请求中添加
beforeSend: function(xhr, settings) {
xhr.setRequestHeader("X-CSRFToken", $.cookie('csrftoken'));
},
最后没有再报 403 的code:
$.ajax({
'type':'POST',
'data':{
filter: JSON.stringify(filters),
},
'url': "{% url 'test_record:select_node_page' ret.uut_id %}",
beforeSend: function(xhr, settings) {
xhr.setRequestHeader("X-CSRFToken", $.cookie('csrftoken'));
},
success: function(data){
var retData = JSON.parse(data);
console.log(retData); // DEBUG
$(".chassis tbody").html("");
if(retData.nodes.length){
$(".chassis tbody").append(make_tr_html(retData.chassis, "1"));
retData.nodes.forEach(function(item){
$(".chassis tbody").append(make_tr_html(item, "2"));
});
}else{
$(".chassis tbody").append(make_tr_html(retData.chassis, "3"));
}
$("#uut_id").html(retData.uut_id);
// finished
$('.ajax_container').removeClass("loding");
elem_resize();
},
error: function(){
}
});
ajax $.post 一直报 Forbidden (CSRF token missing or incorrect.)的更多相关文章
- 对于 前端请求Django 后端服务出现403 Forbidden (CSRF token missing or incorrect.) 问题的解析
Django中使用ajax post向後臺傳送資料時403 Forbidden (CSRF token missing or incorrect.):的解決辦法 在Django中使用ajax post ...
- Forbidden (CSRF token missing or incorrect.):错误解决办法
在JS中,使用post方法提交数据到后台,出现错误: Forbidden (CSRF token missing or incorrect.):.........; 解决办法: 在页面导入JS的位置, ...
- Forbidden (CSRF token missing or incorrect.):
CSRF令牌失效或丢失,Ajax请求页面报错(403 Forbidden ) csrftoken存在 页面响应为CSRF验证失败请求被中断,经过测试,该错误并非是没有在表单中加入{% csrf_tok ...
- 关于 DjangoUeditor 上传图片图片失败,csrf token missing or incorrect 的解决办法
Forbidden (CSRF token missing or incorrect.): /ueditor/controller/ [27/Jun/2017 23:49:25] "POST ...
- "CSRF token missing or incorrect."的解决方法.
现象: Forbidden (403)CSRF verification failed. Request aborted.HelpReason given for failure:CSRF token ...
- django rest framework csrf failed csrf token missing or incorrect
django rest framework csrf failed csrf token missing or incorrect REST_FRAMEWORK = { 'DEFAULT_AUTHEN ...
- django CSRF token missing or incorrect
django 异步请求时提示403 按照一般情况权限问题,python文件没有问题,仔细看了下response里有一句 CSRF token missing or incorrect.这个肯定是因为安 ...
- 关于django1.7.7使用ajax后出现“CSRF token missing or incorrect”问题的解决办法
最近使用Python3.3.25和django1.7.7开发公司项目,在使用ajax来post数据时,居然一直提示:403错误,原因是“CSRF token missing or incorrect” ...
- django前后端分离403 csrf token missing or incorrect
根据这个链接https://stackoverflow.com/a/26639895 这是一个django的跨域访问问题. django,会对合法的跨域访问做这样的检验,cookies里面存储的'cs ...
随机推荐
- 约数和问题 (codevs2606 && 洛谷2424)
P2424 约数和 题目背景 Smart最近沉迷于对约数的研究中. 题目描述 对于一个数X,函数f(X)表示X所有约数的和.例如:f(6)=1+2+3+6=12.对于一个X,Smart可以很快的算出f ...
- Glassfish Cannot run program "/usr/libexec/StartupItemContext; error=2 , No such file or directory
临时处理办法 http://sohu.io/questions/3833214/jvm-failed-to-start-java-io-ioexception-cannot-run-program-u ...
- Java获取上周,本周,本月,本年,开始结束时间 。日期工具类
由于获取日期经常会使用到,所有我自己写了一个工具类 1.基本上能用上的都写出来了,包括:1)获取当天的开始时间 2)获取当天的结束时间 3)获取昨天的开始时间 4)获取昨天的结束时间 5)获取明天的开 ...
- JSON解析器之jackson json数据和java对象转换
- css 文本溢出时显示省略号
.text-ellipsis { width:100px; height:60px; overflow: hidden;//隐藏滚动条 text-overflow:ellipsis; white-sp ...
- Luogu P2257 YY的GCD 莫比乌斯反演
第一道莫比乌斯反演...$qwq$ 设$f(d)=\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d]$ $F(n)=\sum_{n|d}f(d)=\lfloor \frac{N ...
- jq:jQuery库文件jquery.scrollLoading.js使用方法
图片延迟加载,滚动到哪里加载到哪里: 1:头部加载库文件 <script type="text/javascript" src="/js/jquery.scroll ...
- EOJ Problem #3261 分词 trie + dp + 小剪枝
http://acm.ecnu.edu.cn/problem/3261/ 分词 Time limit per test: 1.0 seconds Time limit all tests: 1.0 s ...
- 合并石子,区间dp
#define INF 9999999 ],dp[][],ans=,s[]; int main() { scanf("%d",&n); ;i<=n;i++) scan ...
- return void ajax
public class UserInfo { private String name; private Integer age; public String getName() { return n ...