当我们的前端项目和后端项目是跨域的时候,前端向后端传数据会出现CSRF Failed: CSRF token from the 'X-Csrftoken' HTTP header has incorrect length的情况,以下是解决方法:
        这里前端以axios请求为例,在请求头中加入浏览器cookie中csrftoken的值,可以使用自己创建的getCookie方法便捷获取:

        浏览器中的csrftoken
        

        axios请求中加入X-CSRFToken请求头,值为浏览器中名为csrftoken的值

        

        成功解决!!!

补充:若出现Origin checking failed - http://localhost:xxxx does not match any trusted origins的问题,则是后端未将前端的端口加入csrf信任的区域内,解决方法以django为例:

        在settings.py文件中加入

        CSRF_TRUSTED_ORIGINS = ['http://localhost:xxxx']
即可解决
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐