首页 > Web开发 > 详细

报错 POST http://192.168.79.165:8015/marketing/manager 400 (BAD REQUEST) 解决办法

时间:2017-04-14 12:56:26      阅读:447      评论:0      收藏:0      [点我收藏+]

我用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) 解决办法

原文:http://www.cnblogs.com/aiyr/p/6708092.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!