ajax GET类型不将数据传递给烧瓶
Posted
技术标签:
【中文标题】ajax GET类型不将数据传递给烧瓶【英文标题】:ajax GET type not passing data to flask 【发布时间】:2021-08-31 05:17:51 【问题描述】:我有一个方法尝试使用 GET 方法将变量传递给烧瓶。这是来自 jquery 和 flask 的代码:
const impacttoolbtn = document.querySelector(".changingtoolbtn")
impacttoolbtn.addEventListener("click", function ()
$.ajax(
url: " url_for('impact') ",
contentType: "application/json",
data: JSON.stringify(login_bool),
dataType: "json",
success: function(response)
console.log(response);
,
error: function(err)
console.log(err);
);
)
其中 login_bool 为真或假。
和烧瓶:
@application.route('/impact', methods=["GET"])
def impact():
data = request.get_json()
print(data)
print("hi")
return render_template('/impacttool.html')
我在打印(数据)上得到“无”,而如果我在 ajax 上而不是默认的 GET 上进行 POST,我会得到我需要的正确数据。为什么会发生这种情况?我很想得到一些见解,非常感谢。
【问题讨论】:
【参考方案1】:你还没有在ajax调用中定义方法类型。
$.ajax(
type:"GET",
url: " url_for('impact') ",
contentType: "application/json",
data: JSON.stringify(login_bool),
dataType: "json",
success: function(response)
console.log(response);
,
error: function(err)
console.log(err);
);
【讨论】:
能否添加有问题的login_bool,可以使用request.args.get("key_of_login_bool")
嘿! login_bool 只是 const login_bool = true;或虚假;我试试看!
这样做data:"login_boo_var":login_bool
并在烧瓶中request.args.get("login_bool_var")
嘿,谢谢你的彻底回答,现在数据发送到后端,但我也遇到了这个问题,我有:``` data = request.args.get("bool" ) print(data) if(data == 'false'): print('test') return redirect('/login') else: ``` 而且它没有重定向到登录,你知道为什么吗?请和谢谢你
你在 javascript 中的 bool 中传递了什么,如果你使用了 javascript false 尝试使用data == False
。以上是关于ajax GET类型不将数据传递给烧瓶的主要内容,如果未能解决你的问题,请参考以下文章