$.ajax({ url: "/profile/{{ g.user.user_id }}", type: 'POST', data: {data: "failed"}, error: function(e) { console.log(e); } }) .done(function (data) { console.log(data); });
后台只能收到 GET 消息,无法收到 POST 消息,但是其他页面同样的方式实现的没问题。
实在不知道什么原因,求教!!!
![]() | 1 HanSonJ 2015-11-20 02:31:49 +08:00 可能与框架有关,有些框架防止跨域 |
![]() | 2 FrankFang128 2015-11-20 03:03:04 +08:00 因为后台不接受 post |
![]() | 3 ryd994 2015-11-20 04:43:33 +08:00 后台开 debug 看 log |
4 skywatcher OP @FrankFang128 应该不是,另一个页面的 post 正常的 |
5 skywatcher OP @HanSonJ 看 url 就知道没有跨域啊 |
6 skywatcher OP @ryd994 flask 的后台如何看 log , log 不是自己写的么?目前 post 消息根本就没到后台 这是后端代码 ``` @app.route('/profile/<int:user_id>', methods=['GET', 'POST']) @login_required def profile(user_id): if request.method == 'POST': print request.method data = request.form.get('data') return data ``` |
![]() | 7 realpg PRO CHROME F12 网络 然后发起请求,把返回 400 那个 POST 请求上,右键, SAVE AS HAR 然后贴上来 |
![]() | 8 realpg PRO 更正 COPY ALL AS HAR 不是 SAVE |
![]() | 9 zeayes 2015-11-20 09:01:15 +08:00 login_required 里面的处理有问题。 把进程跑在前台,打开 debug 模式,标准输入会打印每个请求的。 |
10 skywatcher OP @realpg 问题已解决,开启 CSRF 而没有在 header 里加相关信息 /(ㄒoㄒ)/~~ |
11 skywatcher OP @zeayes 问题已解决 |
![]() | 12 HanSonJ 2015-11-20 09:51:41 +08:00 @skywatcher 其实我想说的就是楼主说的 CRSF ,昨晚没想到这个英文怎么写 - - |