由于后台整合类视图代码,所以修改了写法,完了之后用下面的写法写的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.)的更多相关文章

  1. 对于 前端请求Django 后端服务出现403 Forbidden (CSRF token missing or incorrect.) 问题的解析

    Django中使用ajax post向後臺傳送資料時403 Forbidden (CSRF token missing or incorrect.):的解決辦法 在Django中使用ajax post ...

  2. Forbidden (CSRF token missing or incorrect.):错误解决办法

    在JS中,使用post方法提交数据到后台,出现错误: Forbidden (CSRF token missing or incorrect.):.........; 解决办法: 在页面导入JS的位置, ...

  3. Forbidden (CSRF token missing or incorrect.):

    CSRF令牌失效或丢失,Ajax请求页面报错(403 Forbidden ) csrftoken存在 页面响应为CSRF验证失败请求被中断,经过测试,该错误并非是没有在表单中加入{% csrf_tok ...

  4. 关于 DjangoUeditor 上传图片图片失败,csrf token missing or incorrect 的解决办法

    Forbidden (CSRF token missing or incorrect.): /ueditor/controller/ [27/Jun/2017 23:49:25] "POST ...

  5. "CSRF token missing or incorrect."的解决方法.

    现象: Forbidden (403)CSRF verification failed. Request aborted.HelpReason given for failure:CSRF token ...

  6. django rest framework csrf failed csrf token missing or incorrect

    django rest framework csrf failed csrf token missing or incorrect REST_FRAMEWORK = { 'DEFAULT_AUTHEN ...

  7. django CSRF token missing or incorrect

    django 异步请求时提示403 按照一般情况权限问题,python文件没有问题,仔细看了下response里有一句 CSRF token missing or incorrect.这个肯定是因为安 ...

  8. 关于django1.7.7使用ajax后出现“CSRF token missing or incorrect”问题的解决办法

    最近使用Python3.3.25和django1.7.7开发公司项目,在使用ajax来post数据时,居然一直提示:403错误,原因是“CSRF token missing or incorrect” ...

  9. django前后端分离403 csrf token missing or incorrect

    根据这个链接https://stackoverflow.com/a/26639895 这是一个django的跨域访问问题. django,会对合法的跨域访问做这样的检验,cookies里面存储的'cs ...

随机推荐

  1. MySQL最佳客户端工具 -- SQLyog 13.1.1.0 安装与注册

    一.前言 SQLyog是一个易于使用的.快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库!SQLyog是业界著名的 Webyog 公司出品的一款简洁高效.功能强大的图 ...

  2. 剑指Offer的学习笔记(C#篇)-- 构建乘积数组

    题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1].不 ...

  3. pycharm安装教程,汉化教程,以及正版激活码---

    密钥在下面 安装过程 PyCharm2019本地下载: http://www.100c1.com/upload/default/20190420/1c08a3209029093a8b34df941f1 ...

  4. 算法设计与分析-HomeWork

    ex1(p20) 代码如下: import random def Darts(n): k=0 i=1 while i<=n: x=random.uniform(0,1) #y=random.un ...

  5. 054 Spiral Matrix 旋转打印矩阵

    给出一个 m x n 的矩阵(m 行, n 列),请按照顺时针螺旋顺序返回元素.例如,给出以下矩阵:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]应该返回 [1,2, ...

  6. nio aio netty区别

    传统io就是bio     同步阻塞         但可以采用伪同步 nio  jdk1.7以前     同步非阻塞io     1.7以后     同步异步非阻塞                  ...

  7. tyvj P4877 _1.组合数

    时间限制:1s 内存限制:256MB [问题描述] 从m个不同元素中,任取n(n≤m)个元素并成一组,叫做从m个不同元素中取出n个元素的一个组合:从m个不同元素中取出n(n≤m)个元素的所有组合的个数 ...

  8. sql 模版

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- ...

  9. 获取url的参数值

    var url=location.search; //获取url中从?开始的所有字符 var  theRequest=new Object();//定义一个对象来存放url中的参数 if( url.i ...

  10. 洛谷 P1821 [USACO07FEB]银牛派对Silver Cow Party

    银牛派对 正向建图+反向建图, 两边跑dijkstra,然后将结果相加即可. 反向建图以及双向建图的做法是学习图论的必备思想. #include <iostream> #include & ...