Javascript flask return无法处理html代码中的post jquery请求

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”不会显示在浏览器中 如果在发布后执行某个功能,我可

我遇到一个问题,表单是通过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)
});