javascript - POST 消息到后台一直提示 400 BAD request
伊谢尔伦
伊谢尔伦 2017-04-10 16:16:14
[JavaScript讨论组]

前端

$.ajax({
    url: "/profile/{{ g.user.user_id }}",
    type: 'POST',
    data: {data: "failed"},
    error: function(e) {
        console.log(e);
    }
})
.done(function (data) {
    console.log(data);
});

后台,为了测试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

后台只能收到 GET 消息,无法收到 POST 消息,但是其他页面同样的方式实现的没问题。

实在不知道什么原因,求教!!!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
伊谢尔伦

哎,自己挖的坑,果然要自己填;

之前后台为了安全性,开启了CRSF(Cross Site Request Forgery),而该页面中发送请求时并未对此进行验证。

自己SX了,一直检查不出来,一个是开始在手机端,不好调试(暂时推荐:http://jsconsole.com/?%3Alisten),ajax的post错误了没反馈信息,只知道400 ban request,所以一直没找到问题所在。

具体参看:
http://flask-wtf.readthedocs.org/en/latest/csrf.html

伊谢尔伦

@app.route('xxx', methods=['GET', 'POST'])

大家讲道理

大哥,post不是这样传参数的。你这是用get的形式做post,不对。

高洛峰
url 改成 "/profile/"+ g.user.user_id
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号