微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有ajax的HTTP post返回404

如何解决带有ajax的HTTP post返回404

我想向服务器发送一个 JSON 对象并将其保存为文本文件

$.post("/",{ foo: bar });

但是,当我尝试发布到某个目录时它不起作用:

$.post("/SomeFolder",{ foo: bar });

它总是会返回 404。


后端基于flask。

目录结构如下:

- SomeFolder
- static
- templates
- ... (other miscellaneous files...)

Script.js

function save(){
    var firstname = document.getElementById("fname").value;
    var lastname = document.getElementById("lname").value;
    var scenario = document.getElementById("scenario").value;

    document.getElementById("fname").value = "";
    document.getElementById("lname").value = "";
    document.getElementById("scenario").value = "";
    //var data = JSON.stringify(canvas_data);
    var data = []; // leave blank for compatability purpose
    var image = canvas.toDataURL();
    
    $.post("/",{ fname: firstname,lname: lastname,scenario: scenario,save_cdata: data,save_image: image });
    alert(firstname + " saved!");
    ctx.clearRect(0,canvas.width,canvas.height);
    //canvas_data = { "pencil": [],"line": [],"rectangle": [],"circle": [],"eraser": [] }
}

run.py

def paintapp(template_str):
    if request.method == 'GET':
        return render_template_string(template_str)
    if request.method == 'POST':
        firstname = request.form['fname']
        lastname = request.form['lname']
        scenario = request.form['scenario']
        # data = request.form['save_cdata']
        canvas_image = request.form['save_image']
        f = open("{0}_{1}_{2}.txt".format(firstname,lastname,scenario),"w+")
        f.write(canvas_image)
        return render_template_string(template_str)
     
if __name__ == '__main__':
    port = int(os.environ.get('PORT',65520))
    app.run(host='0.0.0.0',port=port,debug=True)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。