$.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 2015-11-20 08:55:04 +08:00
CHROME F12
网络 然后发起请求,把返回 400 那个 POST 请求上,右键, SAVE AS HAR 然后贴上来 |
8
realpg 2015-11-20 08:55:30 +08:00
更正 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 ,昨晚没想到这个英文怎么写 - -
|