【发布时间】:2020-10-31 20:01:06
【问题描述】:
我遇到了通过 jquery 帖子提交表单的问题。我正在处理表单数据,需要提交具体数据。我无法使用内置的 POST,因为没有使用 dataTables 插件提交多个页面,因此我必须在提交之前修改 javascript 中的数据。下面的代码正在执行 'url_for('aws_execute')' 中的代码,但页面没有在浏览器中加载。
所以在这个例子中,'123' 将被打印到 python 控制台,但网站不会被重定向,并且“测试请工作”不会显示在浏览器中。
如果我在发布后执行功能,我可以获得控制台日志或警报等信息,但我不确定如何让页面重定向,因为我希望新页面显示结果而不是警报等。任何想法如何做到这一点?
谢谢!
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<link href="{{ url_for('static', filename='css/jquery.dataTables.min.css') }}" rel="stylesheet">
<script src="{{ url_for('static', filename='jquery-3.5.1.js') }}"></script>
<script src="{{ url_for('static', filename='jquery.dataTables.min.js')}}"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('#options').on('submit', function(e){
// Prevent actual form submission
e.preventDefault();
var data = table.$('input,select,textarea').serializeArray();
var data2 = $(this).serializeArray();
var data3 = $.merge(data,data2);
not working--->$.post({
url: '{{ url_for('aws_execute') }}',
data: data3
},
function(data3,status){
alert("Data: " + data3 + "\nStatus: " + status);
});
});
} );
</script>
</head>
<body>
<h1>AWS Options</h1>
<form id="options" method="POST" action="{{ url_for('aws_execute') }}">
<button type="submit">Submit Form</button>
(FORM STUFF)
</body>
</html>
在python中:
@app.route('/aws_execute', methods=['POST'])
@saml_manager.login_required
def aws_execute():
print('123')
return 'test please work'
【问题讨论】:
标签: javascript python jquery flask datatables