我有一个Web应用程序,我希望将文本框值传递到烧瓶应用程序中。但是,当我打印出烧瓶中的请求对象时,我没有得到数据。可以帮助我。这是代码:
Flask Server:
@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 CODE:
<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>
使用Javascript:
function send_query()
{
var qry=document.getElementById("txt_query").value;
//alert(qry);
var contentType = "application/x-www-form-urlencoded";
var ajax=$.ajax({
type: "POST",
url: "http://0.0.0.0:8080/send_data",
data: JSON.stringify(qry),
dataType: "json"
}).done(function(data){
alert("success");
});
ajax.fail(function(data){
alert("fail");
});
}
答案 0 :(得分:1)
您正在发布JSON数据;将内容类型设置为application/json
,然后使用request.get_json()
method加载数据:
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"
})
网址必须有意义; 0.0.0.0
对于服务器是可以的(这意味着'绑定到所有接口'),但你可能在localhost上运行它,所以请先使用它。
在您的视图中使用:
data = request.get_json()
query = data['query']
答案 1 :(得分:-1)
您需要在烧瓶应用中使用请求来接收数据: