【发布时间】:2016-10-26 18:45:18
【问题描述】:
这个脚本
<script type="text/javascript">
$(function() {
$('.send').live('click', 'button', function()
{
var user1 = $(this).val();
var user2=$(this).prev().val();
var text=$(this).prev().prev().val();
var my_data = {
user1: user1, text:text, user2:user2,
};
console.log(my_data)
$.ajax({
url: "/updatechat",
data: my_data,
type: 'POST',
success: function(response) {
console.log(response)
},
error: function(error) {
console.log(error);
}
});
});
});
正在与对应的路由 /updatechat 引发错误
@app.route('/updatechat', methods=['GET','POST'])
def updatechat():
user1 = request.form['user1']
user2 = request.form['user2']
text = request.form['text']
return [user1,user2,text] #not the actual code
但如果在上一段代码中我替换为这个,则不会引发相同的错误
user1='bbb'
user2='whatever'
text='idk'
这个“var = request.form['var']”表单适用于我的代码中的几个不同路径
【问题讨论】:
-
.live在很久以前就被弃用了。使用.on -
错误是什么?请编辑您的问题以包含完整的错误和回溯。
-
我必须使用 .live,因为按钮是在此过程中动态生成的。我在编写此项目的过程中发现,如果我继续使用,按钮将不起作用。出于某种原因@hjpotter92 除了。由于该函数适用于 user1='bbb',user2='whatever' 等,因此问题不应该在 .live 上
-
@dim POST 192.168.1.52:5000/updatechat 400 (BAD REQUEST) XMLHttpRequest {readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, responseURL: "192.168.1.52:5000/updatechat..."}跨度>
-
你没有使用表单,而不是 request.form['user1'] 你需要 request.args.get('user1')