【发布时间】:2016-01-30 00:56:36
【问题描述】:
我正在尝试学习如何使用 AJAX,但我不知道为什么这不起作用。
我收到一个带有 AJAX 调用的 400 BAD REQUEST,不知道为什么。
这是 ajax 调用(在 dashboard.html 中):
$('#program-select').change
(
function()
{
var program = $('program-select').val();
$.ajax({
url: '{{ url_for('setup') }}',
data: { program_name: program },
type: 'POST',
success: function(response)
{
$('#setup-content').html(response);
},
error: function(error)
{
console.log(error);
}
});
}
)
这是视图:
@app.route('/dashboard/', methods=['GET'])
@login_required
def dashboard():
user_id = current_user.id
current_program = program.get_current_program_by_user(user_id)
return render_template('dashboard.html', current_program=current_program)
@app.route('/setup/', methods=['POST'])
@login_required
def setup():
program_name = request.form['program_name']
print(program_name)
return program_name
最初我认为这是一个问题,因为 AJAX 试图发布到不同的路线,但如果我将其重构为发布到 dashboard,它仍然无法正常工作。
我在这里做错了什么?
【问题讨论】:
-
jQuery 选择器
$('program-select')可能缺少#。 HTML中没有program-select标签。 -
@Wombatz 该死的,你是对的!现在工作。拥有第二双眼睛是值得的。谢谢!
标签: javascript jquery python ajax flask