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)
前端使用 ajax 访问后端 django 程序 报错误: POST http://127.0.0.1:8001/xxx 403 (Forbidden)