我想将span元素的文本值发送到flask <span id="myspan">text</span>
通过ajax post请求
function upload_columns (){
let spantext = {
mainfile_column: $("#myspan").text(),
};
return $.ajax({
type: 'POST',
url: 'receave_columns',
data: spantext
});
}
$(function(){
$("#mybutton").on("click", ()=>{
let column_promise = upload_columns();
column_promise.done(console.log("success"))
});
});这是路线
@flask_class.route('/receave_columns', methods=['POST'])
def client_choice():
client_data = request.form['data']
return jsonify({"data": client_data})我得到了这个BadRequestKeyError
werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand. KeyError: 'data'看起来flask看不懂['data']
循环遍历密钥
for key in client_data.keys():
for value in client_data.getlist(key):
print(key, ":", value)打印正确的值
为什么flask不能从ajax调用data: spantext中读取['data']?
发布于 2020-12-19 18:43:07
尝试使用'POST‘方法的if语句:
@flask_class.route('/receave_columns', methods=['GET', 'POST'])
def client_choice():
if method='POST':
client_data = request.form['data']
return jsonify({"data": client_data})同样,在ajax函数中进行以下更改(注释行):
function upload_columns (){
let spantext = {
mainfile_column: $("#myspan").text(),
};
return $.ajax({
type: 'POST',
url: 'receave_columns',
data: {'data': spantext} #amended line
});
}https://stackoverflow.com/questions/65368718
复制相似问题