0
今天我正在嘗試Web Api 2登錄和註冊操作。我使用的是Visual Studio 2015中的標準模板。我在網頁上創建了JavaScript客戶端,但沒有看到提醒,註冊不起作用。Web Api 2登錄和註冊操作,JavaScript問題
這裏是我的代碼:
<div class="form-group">
<div class="input-group">
<input type="email" class="form-control" placeholder="Email" id="email">
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="password" class="form-control" placeholder="password" id="password">
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="password" class="form-control" placeholder="Password again" id="confirmpassword">
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="submit" id="submit" value="Register" class="btn btn-info">
</div>
@section scripts{
@Scripts.Render("~/bundles/jqueryval")
<script>
$(function() {
$('#submit').click(function (e) {
e.preventDefault();
var data = {
Email: $('#email').val(),
Password: $('#password').val(),
ConfirmPassword: $('#confirmpassword').val()
};
$.ajax({
type: 'POST',
url: '/api/Account/Register',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(data)
}).success(function (data) {
alert("Registration success");
}).fail(function (data) {
alert("Error message");
});
});
})
</script>
}
更新: 下面是登錄過程代碼:
div class="userInfo" style="display:none;">
<p>You are loged in as: <span class="userName"></span></p>
<input type="button" value="Log out" id="logOut" />
</div>
<div class="loginForm">
<h3>Log in</h3>
<label>Enter email</label><br />
<input type="email" id="emailLogin" /> <br /><br />
<label>Password</label><br />
<input type="password" id="passwordLogin" /><br /><br />
<input type="submit" id="submitLogin" value="Log in" />
</div>
@section scripts{
<script type="text/javascript">
$(function() {
//...........................
var tokenKey = "tokenInfo";
$('#submitLogin').click(function (e) {
e.preventDefault();
var loginData = {
grant_type: 'password',
username: $('#emailLogin').val(),
password: $('#passwordLogin').val()
};
$.ajax({
type: 'POST',
url: '/Token',
data: loginData
}).success(function (data) {
$('.userName').text(data.userName);
$('.userInfo').css('display', 'block');
$('.loginForm').css('display', 'none');
// store sessionStorage auth token
sessionStorage.setItem(tokenKey, data.access_token);
console.log(data.access_token);
}).fail(function (data) {
alert('Error on login');
});
});
$('#logOut').click(function (e) {
e.preventDefault();
sessionStorage.removeItem(tokenKey);
});
})
</script>
}
更新2 在登記這裏是F12控制檯代碼:
(index):88 Uncaught TypeError: $.ajax(...).success is not a function
at HTMLInputElement.<anonymous> ((index):88)
at HTMLInputElement.dispatch (jquery-3.1.1.js:5201)
at HTMLInputElement.elemData.handle (jquery-3.1.1.js:5009)
(anonymous) @ (index):88
dispatch @ jquery-3.1.1.js:5201
elemData.handle @ jquery-3.1.1.js:5009
但註冊通行證和我在數據庫中的新紀錄。任何人都可以解釋我是什麼意思?
你能否提供更多信息?行動正在襲擊?如果行動正在被擊中是否值正確?瀏覽器開發工具(F12)中是否有任何錯誤?你的動作和視圖模型代碼在哪裏?問候。 – dime2lo
@ dime2lo,感謝您的關注,沒有錯誤,註冊通過成功,有一些登錄問題我現在會登錄過程中,登錄給我400錯誤,在註冊過程.success(功能(數據){ alert(「註冊成功「);不工作,頁面不顯示任何信息,單擊按鈕後我只能在數據庫中看到新用戶 –
@ dime2lo非常感謝我解決了問題我已經使用完成,而不是成功 –