Javascript 将HTML数据传递到Flask中

Javascript 将HTML数据传递到Flask中,javascript,python,html,flask,Javascript,Python,Html,Flask,我有一个web应用程序,我想从中向flask应用程序传递一个文本框值。但是,当我在flask中打印请求对象时,我没有得到数据。您能帮我一下吗。以下是代码: 烧瓶服务器: @app.route('/send_data', methods=['GET', 'POST']) def send_data(): print request if request.method == "POST": #Operations with the data received

我有一个web应用程序,我想从中向flask应用程序传递一个文本框值。但是,当我在flask中打印请求对象时,我没有得到数据。您能帮我一下吗。以下是代码:

烧瓶服务器:

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

def send_data():
    print request
    if request.method == "POST":
        #Operations with the data received 
    else:
    return jsonify(txt="Nothing received");
HTML代码:

<div id="div_submit">
<form name="form_submit">
    <textarea cols="100" rows="1" id="txt_query">

    </textarea>
    <br>
    <br/>
    <input type="submit" value="Submit" onclick="send_query()">
</form>
</div>

您需要在flask应用程序中使用请求来接收数据:

var ajax=$.ajax({
    type: "POST",
    url: "http://127.0.0.1:8080/send_data",
    data: JSON.stringify({query: qry}),
    dataType: "json",
    contentType: "application/json; charset=UTF-8"
})

您正在发布JSON数据;将内容类型设置为application/json并使用加载数据:

var ajax=$.ajax({
    type: "POST",
    url: "http://127.0.0.1:8080/send_data",
    data: JSON.stringify({query: qry}),
    dataType: "json",
    contentType: "application/json; charset=UTF-8"
})
其中URL必须是有意义的;0.0.0.0对于服务器来说是可以的,它意味着“绑定到所有接口”,但您可能正在本地主机上运行它,所以首先使用它

在您看来,请使用:

data = request.get_json()
query = data['query']

有人能帮我吗???在ajax调用中,我以POST的形式说明了该方法。当我使用request.method在Flask服务器中打印出方法名时,我得到的是POST。request.method==POST是true。它在if语句中。一切正常。只有当我使用request.data时,我才得到任何东西。@user2284140:对不起,我确实错过了这个。如果您想发布JSON,请使用requests.get_JSON并正确设置内容类型。我从服务器上收到以下消息:127.0.0.1---[27/Feb/2014 16:32:00]OPTIONS/send_data HTTP/1.1500因此,这是一条HTTP 500消息,而不是200。当我执行data=request.get_json时,它会给我一个非类型对象。方法也从事后到事后OPTIONS@user2284140:此处的AJAX代码根本不使用选项。那就完全不同了。@user2284140:你的日志上说什么出错了?500错误是代码中某个地方的异常。