由于后台整合类视图代码,所以修改了写法,完了之后用下面的写法写的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. 跟踪记录ABAP对外部系统的RFC通信

    对SAP系统而言,RFC最常见的系统间通信方式,SAP与SAP系统及SAP与非SAP系统之间的连接都可以使用它.它的使用便利,功能强大,在各种接口技术中,往往是最受(ABAP开发者)青睐的选择. 查询 ...

  2. C# 多线程程序隐患

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. ssis-oracle 数据流任务

    [OLE DB 源 1 [16]] 错误: SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.对连接管理器“F360DB”的 A ...

  4. Java 数字数组随机数工具类 NumberUtils、ArrayUtils、RandomUtils用法

    commons-lang3-3-3.8.1 //----------------------------------------------------------------------- /** ...

  5. Linq Enumerable.Distinct方法去重

    Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组.集合中的重复元素,还可以自定义去重的规则. 有两个重载方法 ...

  6. 第二十章 排查和调试Web程序 之 设计异常处理策略

    1. 概述 本章内容包括: 多层架构中的异常处理.使用global.asax 或 自定义的HttpHandler 或 web.config中的属性来显示特定的错误页.处理 first chance 异 ...

  7. sql 容易被忽视的点

    1 dual select查询语句只有select就可以,但为了规范,凑结构,可以加个dual 例:select now() from dual; 这个概念是Oracle中的.在mysql中可写可不写 ...

  8. css hack 浏览器携带自身特有的属性 (二)

    css hack 浏览器携带自身特有的属性,才是我们真正要解决的css 兼容问题. 这里只是分享思路. 举例子: 1 outline,尤其是一些 自带继承特性的属性.这里指的是 隐性的inherite ...

  9. django之分页插件

    from django.utils.safestring import mark_safe class Page: def __init__(self, current_page, data_coun ...

  10. 一键部署joomla开源内容管理平台

    https://market.azure.cn/Vhd/Show?vhdId=10896&version=12949 产品详情 产品介绍Joomla是一套自由.开放源代码的内容管理系统,以PH ...