当这个AJAX请求发布时,newUser()函数表示没有传递任何参数,即使我已经填写了userInput和passInput字段。JS/JQ/AJAX:
var userInput = document.getElementById('registerUsername');
var passInput = document.getElementById('registerPassword');
var message = document.getElementById('checkUsernameMessage');
$(document).ready(function() {
$('#submitRegisterButton').click(function () {
$.ajax({
type: "POST",
url: "/newUser",
data: JSON.stringify({"username":userInput, "password":passInput}),
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (msg) {
$('#checkUsernameMessage').text(msg.d);
}
});
});
});
以及我的python瓶子函数newUser():
^{pr2}$
您需要在dom ready调用中嵌套选择器。现在它们在DOM准备好之前运行,因此返回的是未定义的。您可以通过控制变量以查看它们是否返回任何数据来验证这一点。在
另一方面,您可能希望选择这些输入的值,而不是返回DOM元素本身:因此,请尝试一下
var userInput = document.getElementById('registerUsername').value
等这应该可以解决您的问题。在
在客户端问题修复后,python问题是:
post请求被调用为:
^{pr2}$def newUser( username, password )
,其中不应该传入任何参数,而是派生自form变量:相关问题 更多 >
编程相关推荐