我正在尝试将字符串传递给我的JQuery $ .getJSON中的python回调函数。但是,该值永远不会达到回调。关于这个问题,我不清楚文档。所以我已经看到了我认为是其他StackOverflow问题的解决方案。
未传回的变量是que_token(参见下面的代码)。此过程通过其间隔循环成功运行,其中python方法中的变量进入JQuery ..
<script type=text/javascript>
var interval = setInterval(
function()
{
$.getJSON('/_update_alert', { que_token: "Passing as None" }, function(data) {
$("#alert-msg").text(data.result.alert_msg);
$("#alert-type").attr("class", data.result.alert_type)
var stopSession = data.result.End
document.getElementById("log").innerHTML = document.getElementById("log").innerHTML +
data.result.message_log + "\n"
if (data.result.End == "True") {
clearInterval(interval);
}
});
return false;
},
2000);
</script>
@app.route('/_update_alert/<que_token>')
@login_required
def update_alert(que_token=None):
if que_token is None:
# que_token should not be None - ERROR
que_token = session['que_token']
alert_data = {}
.....
return jsonify(result=alert_data)
python跟踪显示值que_token正在返回..但是我的python函数'update_alert'没有把它拿起来。
127.0.0.1 -[01/Nov/2016 14:58:02] "GET /_update_alert?que_token=Passing+as+None HTTP/1.1" 200 -
有什么想法吗?
答案 0 :(得分:3)
在我的python函数update_alert()中使用flask request.args.get('que_token', '')
解决了这个问题。但这并不像从函数update_alert传递的参数中选择que_token一样直接。
因此我的问题的一个解决方案是:
@app.route('/_update_alert')
@login_required
def update_alert():
que_token = request.args.get('que_token', '')
.....
alert_data = {}
.....
return jsonify(result=alert_data)
我将使用此作为我的答案,除非有人挺身而出并解释为什么我不能使用原始方法(通过Get request flask参数)。