Javascript 将HTML数据传递到Flask中
我有一个web应用程序,我想从中向flask应用程序传递一个文本框值。但是,当我在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
@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错误是代码中某个地方的异常。