Javascript flask return无法处理html代码中的post jquery请求
我遇到一个问题,表单是通过jquery帖子提交的。我正在处理表单数据,需要提交特定数据。我无法使用内置POST,因为dataTables插件没有提交多个页面,所以我必须在提交之前修改javascript中的数据。下面的代码正在运行,因为“url\u for('aws\u execute')中的代码正在执行,但页面没有加载到浏览器中 因此,在本例中,“123”将被打印到python控制台,但网站不会被重定向,并且“test please work”不会显示在浏览器中 如果在发布后执行某个功能,我可以获得控制台日志或警报等信息,但不确定如何使页面重定向,因为我希望新页面显示结果而不是警报等。有什么办法可以做到 谢谢 请尝试以下操作:Javascript flask return无法处理html代码中的post jquery请求,javascript,python,jquery,flask,datatables,Javascript,Python,Jquery,Flask,Datatables,我遇到一个问题,表单是通过jquery帖子提交的。我正在处理表单数据,需要提交特定数据。我无法使用内置POST,因为dataTables插件没有提交多个页面,所以我必须在提交之前修改javascript中的数据。下面的代码正在运行,因为“url\u for('aws\u execute')中的代码正在执行,但页面没有加载到浏览器中 因此,在本例中,“123”将被打印到python控制台,但网站不会被重定向,并且“test please work”不会显示在浏览器中 如果在发布后执行某个功能,我可
from flask import render_template
@app.route('/aws_execute', methods=['POST'])
@saml_manager.login_required
def aws_execute():
print('123')
return render_template(url_for('aws_execute'))
因为它是用Javascript编写的,所以您只需要简单地使用路由本身。不需要为()使用url_
$.post
发出AJAX请求,因此不会自动呈现对该请求的任何响应。如果您的意图是让对您的POST
请求的响应呈现,为什么不允许表单遵循其默认行为(即,摆脱所有jQuery)
否则,如果您希望它是AJAX,则需要包含一个回调,以指定在获得数据后如何处理响应中的数据。例如,尝试此操作并查看它是否将test please work
记录到浏览器控制台:
$.post({
'{{ url_for('aws_execute') }}',
data3,
responseData => console.log(responseData)
});
这个回调可以工作,但是我不知道如何让它转到下一页,因为我想做一些比做警报或控制台日志更高级的事情。我不能只使用默认的post,因为由于dataTables插件的问题,我需要操作表单数据。有什么建议吗?您可以在回调中包含
window.replace()
。
from flask import render_template
@app.route('/aws_execute', methods=['POST'])
@saml_manager.login_required
def aws_execute():
print('123')
return render_template(url_for('aws_execute'))
$.post({
url: '/aws_execute',
data: data3
});
$.post({
'{{ url_for('aws_execute') }}',
data3,
responseData => console.log(responseData)
});