zoukankan      html  css  js  c++  java
  • 报错 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不要随意大小写哦~都是泪

  • 相关阅读:
    文件I/O(二)
    linux学习之文件I/O篇(一)
    静态库和共享库
    vim-ide
    CentOS6 vsftpd 安装及优化方法
    Redmine2.5+CentOS6+Apache2
    分享一个TP5实现Create()方法的心得
    Windows证书的生成导出以及使用证书验证文件是否被修改
    如何设置程序UAC控制
    关于C#的可变长参数
  • 原文地址:https://www.cnblogs.com/aiyr/p/6708092.html
Copyright © 2011-2022 走看看