带有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 (将#修改为@)