Django ajax post 403 问题

Posted Christal_11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django ajax post 403 问题相关的知识,希望对你有一定的参考价值。

方法一:

在发送post请求的html页面前加入{% csrf_token %}

方法二:

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

例如

[python] view plain copy
@csrf_exempt  
def profile_delte(request):   
  del_file=request.POST.get("delete_file",\'\')  

同时在进行项目时遇到以下问题及解决方案:

因需求在下拉框中绑定了change事件,只有select一改变,则exam_name中会自动填充相应的内容。同时点击 + 可以动态的添加option标签并被选中,问题在于 + 事件中的$("ele").trigger("change")并未触发select的change事件???

问题所在:因 + 事件是基于Django事件中的js,它是基于Django中的jquery.js文件,

$(function(){
    $("#exam").on(\'change\',function(){
           XXXXXXX
    });
})(django.jQuery)

  而select的change事件是基于项目中引入的jquery.js文件,

$(function(){
     $("#exam").on(\'change\',function(){
             XXXXXXXXXXXX
     })        
})

  所以$("ele").trigger("change")无法触发select的change事件。

解决方案:将select的change事件修改为基于Django中的jquery.js,这样就可以了!

以上是关于Django ajax post 403 问题的主要内容,如果未能解决你的问题,请参考以下文章

Django 中间件使用 ajax 使用 HTTPS POST 引发 403 错误

在 Django 中使用 AJAX POST 请求进行 CSRF 检查期间禁止 403

前端ajax访问 django 报错 POST http://127.0.0.1:8001/xxx 403 (Forbidden)

Django REST,ajax调用中突然出现403错误

前端使用 ajax 访问后端 django 程序 报错误: POST http://127.0.0.1:8001/xxx 403 (Forbidden)

Django jquery ajax 返回403