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

(编辑:jimmy 日期: 2024/9/23 浏览:2)

在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 = 0; i < cookies.length; i++) { 
        var cookie = jQuery.trim(cookies[i]); 
        // Does this cookie string begin with the name we want"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错误,当然解决方法也不止这两种,欢迎多多分享自己的见解,本文写的不好,还请见谅,谢谢。