[英]Ajax doesn't send data
我正在學習使用ajax 。 通過單擊表單中的提交按鈕,不會發送數據。
jQuery代碼:
$('input[name="login"]').click(function() {
var username = $('#username').val();
var password = $('#password').val();
$.ajax({
type: 'POST',
url: '/?module=login&special_content=true',
data:{'username':username,'password':password, 'action':'login'},
success: function(e) {
if(e == false)
{
}
else
{
document.location.href = e;
}
}
});
});
HTML代碼:
<section style="width: 400px; margin: 10% auto; float: none;" id="box">
<section id="box-header">
<div id="box-title">%header_login%</div>
</section>
<section id="box-content" style="float: none;">
<form method="POST" action="./">
%login_username%<br>
<input type="text" style="width: 100%;" class="input" name="username" placeholder="%login_input_user%" required/><br>
%login_password%<br>
<input type="password" style="width: 100%;" class="input" name="password" placeholder="%login_input_pass%" required/><br>
<input type="button" id="login-button" style="width: 100%; box-sizing: border-box;" class="btn btn-red" name="login" value="%login_button%" />
</form>
<center><div style="margin-top: 5px;"> %login_or% <a href="?module=register">%login_signup%</a></div></center>
</section>
錯誤在哪里? 謝謝!
您的問題是由您的選擇器引起的。 $("#username")
表示您想要一個id
設置為“ username”的元素。
對於您的兩個文本輸入,分別將name="username"
和name="password"
更改為id="username"
和id="password"
。
在您的代碼中#username
和#password
不存在,因此.val()
返回空/空值。
將選擇器更改為input[name=
將解決問題
$('input[name="login"]').click(function() {
var username = $('input[name=username]').val();
var password = $('input[name=password]').val();
$.ajax({
type: 'POST',
url: '/?module=login&special_content=true',
data:{'username':username,'password':password, 'action':'login'},
success: function(e) {
if(e == false)
{
}
else
{
document.location.href = e;
}
}
});
});
用圖片中的devtools屁股檢查發布請求
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.