我尝试使用AJAX接收包含用户输入表单数据的POST请求,但我一直在返回错误。我几乎逐字地跟踪this tutorial。
这是我的代码:
views.py
@app.route('/table_data', methods=['POST'])
def table_data():
user_id = request.form['userID']
name = request.form['name']
return user_id, name #of course I'll return something more meaningful in the future
datapage.html
<script type="text/javascript" src="app/static/js/submit.js"></script>
<form action="{{ url_for('table_data') }}" class="form-inline" method="post"
role="form" enctype="application/json">
<input type="text" class="form-control" id="userID" placeholder="4-Character ID">
<input type="text" class="form-control" id="name" placeholder="Name">
<button type='submit' class="btn btn-default">Submit</button>
</form>
submit.js
$(document).ready(function() {
$('form').on('submit', function(event) {
$.ajax({
data: {
userID: $('#userID').val(),
name: $('#name').val()
},
type: 'POST',
url: '/table_data'
})
event.preventDefault();
});
});
我的控制台正在返回&#34; GET /app/static/js/submit.js HTTP / 1.1&#34; 404&#34;,即使我知道submit.js的路线是正确的。
我是JavaScript / jQuery的新手。对菜鸟有什么帮助吗?
答案 0 :(得分:1)
将解决方案从问题转移到答案:
<强> SOLUTION:强>
首先,感谢@reptilicus解决.js文件中的404错误(请参阅注释)。之后我在浏览器窗口中遇到“错误请求”错误消息(400),因为我的HTML输入参数不包含“名称”。我将 name =“userID”和 name =“name”添加到HTML脚本中的标记中,然后运行。