我用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不要随意大小寫哦~都是淚
轉載于:https://www.cnblogs.com/aiyr/p/6708092.html