django使用ajax post数据出现403错误如何解决

本文通过两种方法给大家介绍在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错误,希望对大家有所帮助。

时间: 2024-09-11 12:59:45

django使用ajax post数据出现403错误如何解决的相关文章

django使用ajax post数据出现403错误如何解决_AJAX相关

本文通过两种方法给大家介绍在django中,使用jquery ajax post数据,会出现403的错误,具体内容请看下文. 方法一: 如果用jQuery来处理ajax的话,Django直接送了一段解决问题的代码.把它放在一个独立的js文件中,在html页面中都引入即可.注意这个js文件必须在jquery的js文件引入之后,再引入即可 $(document).ajaxSend(function(event, xhr, settings) { function getCookie(name) {

django中使用jquery ajax post数据出现403错误的解决办法(两种方法)_AJAX相关

在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;

django中使用jquery ajax post数据出现403错误的解决办法(两种方法)

在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;

抓取页面数据,403错误,但是浏览器可以打开!

问题描述 抓取的网址:https://api.weibo.com/2/statuses/show.json?source=3675766002&id=3388249202707781但是每次请求都是返回403错误.上面的网址是新浪微博开放平台的,新浪不能成每次都返回403错误的.请问各位大牛怎么回事? 解决方案 解决方案二:请求方式是get解决方案三:一般403就是没有权限访问,需要登录的过程.WebClient或者HttpRequest需要有权限信息吧.在我这打开你的那个url,也是Authf

PHP Curl出现403错误的解决办法_php实例

自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy.哪些不用.但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果设置为不使用proxy则都能正常访问. 难道google baidu就不让用proxy连接么?显然不可能,所以打开curl的信息输出(curl_setopt($this->mSh, CURLOPT_VERBOSE, 1);)看看,得到以下结果: 复制代

浅析Mysql 数据回滚错误的解决方法_php技巧

MYSQL的事务处理主要有两种方法.1.用begin,rollback,commit来实现begin 开始一个事务rollback 事务回滚commit 事务确认 2.直接用set来改变mysql的自动提交模式MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过set autocommit=0 禁止自动提交set autocommit=1 开启自动提交来实现事务的处理. 当你用 set autocommit=0 的时候,你以后所有的SQL都将做为事务处理,直到你用c

MSSQL2005数据附加失败错误3456解决办法

解决办法: 1.新建一个同名的数据库(数据文件与原来的要一致)       2.再停掉sql server(注意不要分离数据库)       3.用原数据库的数据文件覆盖掉这个新建的数据库       4.再重启sql server       5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)       6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了.       

django通过ajax发起请求返回JSON格式数据的方法

  本文实例讲述了django通过ajax发起请求返回JSON格式数据的方法.分享给大家供大家参考.具体实现方法如下: 这是后台处理的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 def checkemail(request): user = None if request.POST.has_key('email'): useremail = request.POST['email'] result = {} user = User.objects.filter(usere

get方式-$.ajax post报403错误

问题描述 $.ajax post报403错误 通过freemarker跳转到springmvc某个controller,如果是get方式则没什么问题.如果是post,这里表单制定的是post方式,controller制定的也是post,但是跳转不过去.并且报403错误 解决方案 发生原因:是因为配置domain域时 进行了自定义配置,或对原有的domain域进行过扩展现有的配置,并配置了应用程序的安全性所在在启动doamin域后,输入http://localhost:7001/console就会