【发布时间】:2021-02-05 08:55:25
【问题描述】:
我正在尝试了解使用 jQuery AJAX 和 Flask 的逻辑,但是我做错了。我一直在关注here 和here 教程,但没有解决方案。要获得逻辑 - 我只想在两个单独的字段中输入日期,并将这些日期返回到普通 <p> 标记中的同一页面。我怀疑服务器接收日期有问题。提交相对形式不会返回任何东西给#result
HTML 表单
<form>
<input name="StartDate" id="StartDate" type="date" class="form-control"></div>
<input name="EndDate" id="EndDate" type="date" class="form-control"></div>
<a href="#" id="generate"><button class='btn btn-info'>Generate</button></a>
</form>
<p id=result></p>
jQuery - 位于 <body> 标记的底部,在导入 jQuery 本身之后。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('a#generate').bind('click', function () {
$.getJSON($SCRIPT_ROOT + '/generate_report', {
StartDate: $('input[name="StartDate"]').val(),
EndDate: $('input[name="EndDate"]').val()
}, function (data) {
$("#result").text(data.result);
});
return false;
});
});
</script>
Flask Server - 我已经导入了相关依赖
@app.route('/generate_report', methods=['GET', 'POST'])
def generate_report():
start_date = request.args.get('StartDate', 0, type=str)
end_date = request.args.get('EndDate', 0, type=str)
return jsonify(result=start_date + "-" + end_date)
【问题讨论】:
-
请分享浏览器调试器的截图。从网络选项卡和控制台,选项卡查看是否有任何错误。此外,我们可以一起查看您的请求和响应,然后我们可以一起解决。