2

一直在这几个小时,放弃并张贴希望有人可以帮助我。也许这是一个非常愚蠢的想法,但我:

  1. 有一个我使用一些 jQuery 控件修改的 html 页面(在单击时将类添加到一个大的项目列表中,填写文本区域,更改页面标题等。
  2. 单击保存按钮后,想要执行以下操作:

    $('#save').click(function() {
        myhtml = $('html').html();
        $.ajax({
            type: "POST",
            url: "http://127.0.0.1:5000/parse_data",
            data: myhtml
        });
    });
    
  3. 然后在 Python/Flask 方面:

    @app.route('/parse_me', methods=['GET', 'POST'])
    def parse_me():
        if request.method == "POST":
            #determine new filename based on #header id
            #save new file with request.form data? request.something data??
            #using the new filename
    

我阅读了烧瓶文档,并尝试了许多变体。我认为我的问题主要在于我如何发送和解包数据。我得到的最接近的是使用:

data: JSON.stringfy(myhtml)

然后在python方面我可以通过做“看到”这些数据

print request.values

在 parse_me() 方法中。任何帮助,将不胜感激。这似乎是我想要完成的“最简单”的解决方案:我使用 jQuery 修改 dom,然后将我的更改发送到烧瓶以将它们打包到服务器上的新文件中。

4

1 回答 1

1

解决了!

改变:

$('#save').click(function() {
    myhtml = $('html').html();
    $.ajax({
        type: "POST",
        url: "http://127.0.0.1:5000/parse_data",
        data: {html:myhtml} // made into a hash for retrieval
    });
});

在蟒蛇方面:

@app.route('/parse_data', methods=['GET', 'POST'])
def parse_data():
    # updated: get value for key "html", encode correctly
    data = request.form.get("html").encode("utf-8")
    # do whatever with the data
    return "Data retrieved"

很容易..爱烧瓶!

于 2013-08-18T17:49:08.087 回答