本文通过两种方法给大家介绍在django中,使用jquery ajax post数据,会出现403的错误,具体内容请看下文。

方法一:

如果用jQuery来处理ajax的话,Django直接送了一段解决问题的代码。把它放在一个独立的js文件中,在html页面中都引入即可。注意这个js文件必须在jquery的js文件引入之后,再引入即可

$(document).ajaxSend(function(event, xhr, settings) {

function getCookie(name) {

var cookieValue = null;

if (document.cookie && document.cookie != '') {

var cookies = document.cookie.split(';');

for (var i = ; i < cookies.length; i++) {

var cookie = jQuery.trim(cookies[i]);

// Does this cookie string begin with the name we want?

if (cookie.substring(, name.length + ) == (name + '=')) {

cookieValue = decodeURIComponent(cookie.substring(name.length + ));

break;

}

}

}

return cookieValue;

}

function sameOrigin(url) {

// url could be relative or scheme relative or absolute

var host = document.location.host; // host + port

var protocol = document.location.protocol;

var sr_origin = '//' + host;

var origin = protocol + sr_origin;

// Allow absolute or scheme relative URLs to same origin

return (url == origin || url.slice(, origin.length + ) == origin + '/') ||

(url == sr_origin || url.slice(, sr_origin.length + ) == sr_origin + '/') ||

// or any other URL that isn't scheme relative or absolute i.e relative.

!(/^(\/\/|http:|https:).*/.test(url));

}

function safeMethod(method) {

return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));

}

if (!safeMethod(settings.type) && sameOrigin(settings.url)) {

xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));

}

});

方法二:

在处理post数据的view前加@csrf_exempt装饰符

例如

@csrf_exempt

def profile_delte(request):

del_file=request.POST.get("delete_file",'')

以上通过两种方法跟大家介绍了django使用ajax post数据出现403错误,希望对大家有所帮助。

ajax报403错,django使用ajax post数据出现403错误如何解决相关推荐

  1. jquery升级到新版本报错[jQuery] Cannot read property ‘msie’ of undefined错误的解决方法...

    最近把一个项目的jQuery升级到最新版,发现有些页面报错Cannot read property 'msie' of undefined.上jQuery网站上搜了一下,原因是$.browser这个a ...

  2. ajax post数组对象,Django:ajax POST发送对象数组无法正常工作的数据

    var json_array = [] var edit_info = { 'name': str_name, 'id': str_id, }; json_array.push(JSON.string ...

  3. django ajax文件上传,django 之 ajax 篇 上传文件

    前段: Title {% csrf_token %} 输入正确 ajax上传文件(前段): {% load static %} Title {% csrf_token %} {# #} 输入正确 头像 ...

  4. ajax返回报错html,Jquery AJAX POST调用返回200状态确定,但错误

    嗨我已经实现了一个Ajax POST请求来调用Web服务.它总是返回200行,但执行失败的事件我已经尝试了很多事情,但我没有得到我犯的错误.我在这里添加我的代码. Fiddler显示响应内容,但Aja ...

  5. truncate报ORA-02266错“唯一/主键被启用的外部关键字引用”解决方法

    今天想truncate一张表,但报ORA-02266错误 想到可能是主键被子表引用,查了一下 解决如下: SQL> truncate table table_name; truncate tab ...

  6. mysql出现2058,连接MySQL报“Error No.2058 Plugin caching_sha2_password could not be loaded”错误的解决办法...

    点击数:312 原因: MySQL新版默认使用caching_sha2_password作为身份验证插件,而旧版是使用mysql_native_password 当连接MySQL时报错"pl ...

  7. 编译php的时候,报configure: error: mcrypt.h not found. Please reinstall libmcrypt.错误的解决办法...

    configure: error: mcrypt.h not found. Please reinstall libmcrypt.  今天在编译php的时候,出现如下错误php安装出错:configu ...

  8. python安装错80072ee2_教你系统无法更新80072ee2错误的解决方法

    最近有位一位用户向小编反馈,遇到了系统无法更新总会出现提示错误80072ee2的问题,就是关机重启之后都还是一个一样,就此问题,接下来小编教你系统无法更新80072ee2错误的解决方法吧. 1.点击开 ...

  9. ajax三种错误ie,ie下jquery ajax 80020101错误的解决方法

    注意注释 删除这些注释就可以了 Windows下一个MySQL有些错误的解决方法 1.无论是什么提示.我们有一个直接看错误日志.由于它描述了最具体描述错误日志. 于MySQL安装文件夹中找到 my.i ...

最新文章

  1. 二.Python的基础语法知识
  2. linux上部署mysql服务_在Linux环境下部署MySql服务
  3. Struts(十六):通过CURD来学习Struts流程及ModelDriven的用法
  4. windows 3.x编程指南_18000 MHz 可编程衰减器
  5. opencv 人脸识别 (二)训练和识别
  6. java配置文件报错_java使用spring框架配置文件时遇到的错误——Referenced file contains errors...
  7. 2021 最流行的十大 JS 框架,前三又换牌了,最值得关注的是 Svelte 和 Solid 的崛起!...
  8. linux centos6.5 ftp网页vsftpd配置
  9. 向linux内核增加新的系统调用,为linux内核添加新的系统调用
  10. X86逆向教程10:学会使用硬件断点
  11. Qt工作笔记-对QThread使用的进一步认识(exec及对象在哪个线程创建)
  12. centos 安装maven_安装及使用Jenkins
  13. linux资源限制函数getrlimit,setrlimit(转载)【转】
  14. sql group by统计
  15. 会议及作用篇--项目管理(十三)
  16. mysql rds 是什么_mysql.rds.aliyuncs.com
  17. CSDN博客放阿里妈妈广告代码的方法
  18. spark入门框架+python
  19. NET性能优化-推荐使用Collections.Pooled(补充)
  20. 怎么把照片压缩变小?如何改变图片的大小?

热门文章

  1. 23Command(命令)模式
  2. ai取代程序员_你现在从事的程序员还有多久会消失?牛津大学研究员帮你算了算...
  3. ECCV2020 最佳论文提名 | 流感知技术
  4. 直播回顾|结构光3D相机光机核心技术及3D成像性能分析
  5. ThinkPHP简单的基础
  6. Survey | 生物医学文本挖掘最新进展
  7. contentProvider中有关query方法的使用
  8. java ado连接mysql_【转】Java JDBC对应C# ADO连接数据库之区别
  9. python repl_asyncio REPL(Python 3.8)
  10. Galaxy Release 20.05 发布,新增多项可视化体验