报错 POST http://192.168.79.165:8015/marketing/manager 400 (BAD REQUEST) 解决办法
Posted _jackie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报错 POST http://192.168.79.165:8015/marketing/manager 400 (BAD REQUEST) 解决办法相关的知识,希望对你有一定的参考价值。
我用jQuery ajax post方法 用flask url_for 传值到后端
$.ajax({ url:"{{url_for(‘marketing.manager‘)}}", type:‘post‘, dataType:‘json‘, // data:params, data:{‘params‘:‘aResult‘}, success:function(data){ // console.log(data) console.log(‘success‘) },error:function(xhr){ // console.log(xhr) console.log(‘fail‘) } })
结果出问题了 报出错误 POST http://192.168.79.165:8015/marketing/manager 400 (BAD REQUEST)
----------------------------------------------------------------------------------------------------------------------------------------------------以上是问题
网上找的网址 https://segmentfault.com/q/1010000004019749/a-1020000004020013
发现问题确实是 后端用了CRSF 前端应该在ajax中加上一个关于crsf的东西
var csrf_token = "{{ csrf_token() }}"; $.ajax({ url:"{{url_for(‘marketing.manager‘)}}", beforeSend: function(xhr, settings) { if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) { xhr.setRequestHeader("X-CSRFToken", csrf_token); } }, type:‘post‘, dataType:‘json‘, // data:params, data:{‘params‘:‘aResult‘}, success:function(data){ // console.log(data) console.log(‘success‘) },error:function(xhr){ // console.log(xhr) console.log(‘fail‘) } })
附上解决代码链接:csrf protection
--------------------------------------------------------------------------------------------------------------------------------------------------------------解决
PS:不过后端一直踩坑 POST,GET不要随意大小写哦~都是泪
以上是关于报错 POST http://192.168.79.165:8015/marketing/manager 400 (BAD REQUEST) 解决办法的主要内容,如果未能解决你的问题,请参考以下文章
十次方基础教程(后台)使用Gogs,Jenkins实现持续集成