Django无法处理HTTP PUT/删除请求

  

后端API使用的框架是其他框架,前端通过得到获取列表,通过帖子添加数据都没有问题

但是通过删除方法进行删除操作的时候,有报错:

 Django无法处理HTTP PUT/删除请求

奇怪,饼干里明明已经有了csrf的令牌,但是删除方法好像就是识别不到,因而接口直接返回403

查了下资料:

因为帖子请求,是将从csrftoken放在文章参数中,但是Django中对PUT或DELETE只能通过检查头的方式来检查csrftoken

所以要么后端在接收放/删除请求后进行预处理,要么前端在PUT或DELETE方式增加一个标题

后端的解决方法暂时没找到好用的办法,前端处理这种情况很简单,在cookie中取csrftoken添加到请求头里即可:

出口异步函数removeExport (params) {   返回请求(/api/收集器/,{   方法:“删除”,   身体:{   参数,   方法:“删除”,   },   标题:{   “X-CSRFToken”: Cookies.get (“csrftoken”)   }   });   }

这样后端就可以正常拿到前端带过来的csrftoken进行认证


在使用把方法进行更新操作的时候,又遇到一个问题,不返回403了,改成405了

报错是不允许将方法,方法不被允许吗?

又检查了一下处理跨域的地方:

 Django无法处理HTTP PUT/删除请求

大部分方法基本都允许了,但是看了下stackoverflow上面,说是请求路径的俩面没有给修改的id

原本请求的url http://127.0.0.1:8080/api/promMonitor/

修改了下前端请求的路径http://127.0.0.1:8080/api/promMonitor/1/

居然可以了,然后前端修改一下请求参数:把需要修改的id带到路径里面即可

 Django无法处理HTTP PUT/删除请求



Django无法处理HTTP PUT/删除请求