使用Python的AnnotatorJS商店

时间:2018-03-07 13:00:05

标签: python flask annotatorjs

我正在使用Annotatorjs library,我希望将它与Annotator-Store Plugin结合使用,以便在Python Flask Server上运行它。

但我不知道如何将数据从Javascript发送到Python并在那里接收,以便我可以将带注释的数据存储在数据库中。

我的Javascript代码如下:

//load tag plugin
content.annotator('addPlugin', 'Tags');

//load store plugin for save and retrieve annotations
content.annotator('addPlugin', 'Store', {
    // The endpoint of the store on your server.
    prefix: 'http://localhost/annotations',

    // Attach the uri of the current page to all annotations to allow search.
    annotationData: {
        'uri': 'http://localhost/'
    },
    urls: {
        // These are the default URLs.
        create:  '/annotations',
        update:  '/annotations/:id',
        destroy: '/annotations/:id',
        search:  '/search'
  }

    // This will perform a "search" action when the plugin loads. Will
    // request the last 20 annotations for the current url.
    // eg. /store/endpoint/search?limit=20&uri=http://this/document/only
    loadFromSearch: {
        'limit': 100,
        'all_fields': 1,
        'uri': 'http://localhost/'
    },

    showViewPermissionsCheckbox: false,

    showEditPermissionsCheckbox: false
});
});

但是我如何在Python文件中接收数据?

1 个答案:

答案 0 :(得分:0)

您可以从JavaScript发出请求,然后在python应用程序文件中使用POST方法接收python文件中的数据。

从Javascript开始,使用jQuery(这样的函数调用Post Data): -

function post_data(data1,data2) {
    $.post("endpoint/url", {
        "myData1": data1
        "myData2": data2
    }, location.reload())
}

在Flask应用程序文件中: -

@app.route('/endpoint/url', methods=['POST'])
def save_data():
    data1 = request.form['myData1']
    data2 = request.form['myData2']
    save_them_function(data1,data2)
    return redirect(url_for('home'))