我正在尝试构建一个简单的AJAX POST。它由用户名和密码组成。用户提交数据后,我的html中的用户名元素仍未定义。可能是什么问题呢。这是我的代码。
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>
$(document).ready(function () {
$("#form").bind('click', function (event) {
alert(username = $("#username").val())
event.preventDefault();
$.post("/main3/",
username = $("#username").val(),
function (data) {
alert(data);
$('#content').html(data)
})
return false;
});
});
</script>
</head>
<body>
<form id="form">Name
<input type="text" name="username" />
</br>Age
<input type="text" name="age" />
</br>
<input type="submit" />
</form>
<div id="content"></div>
</body>
我已将整个页面包含在内以供参考。我的服务器是Django。
答案 0 :(得分:1)
您正在错误地传递参数,将其作为对象传递,并为要选择的元素使用正确的选择器以获取其值(没有具有id用户名的元素)
$.post("/main3/", {username: $("[name=username]").val()},
答案 1 :(得分:1)
您的代码中没有ID为username
的元素。您的输入元素的 NAME 为username
。 name与id不同。
<input type="text" id="name" name="name" />
^^^^^^^^^^--missing