Tôi đang cố triển khai đăng nhập ajax phía máy khách trên Asp.Net MVC. Tôi đã từng thiết lập điều này khá tốt trên WebForms, nhưng bây giờ tôi đã chuyển sang MVC, nó cho tôi một số rắc rối.Cách triển khai Đăng nhập Ajax phía máy khách trên Asp.Net MVC (Một liên kết đến giải pháp cho Webform Asp.Net có tại đây)
Nếu bạn muốn một hướng dẫn về Client-side Ajax Đăng nhập cho Asp.Net Webforms, nó có thể được tìm thấy here - Dễ dàng, A ++
Bây giờ ... đối với một số lý do nó không làm việc cho Asp. Net MVC.
Tôi đã sử dụng cùng một hướng dẫn chính xác như đối với Biểu mẫu web, trừ khi nó thực hiện ssa.login()
(tương đương: Sys.Services.AuthenticationService.login()
), nó không hoạt động.
Tôi có cảnh báo trong cả hai hàm onLoginComplete() và hàm onError(). Tôi cũng có một cảnh báo trước khi ssa.login được gọi và ngay sau ...
function loginHandler() {
var username = $("#login_UserName").val();
var password = $("#login_Password").val();
var isPersistent = $("#login_RememberMe").attr("checked");
var customInfo = null;
var redirectUrl = null;
// Log them in.
alert("try login");
ssa.login(username,
password,
isPersistent,
customInfo,
redirectUrl,
onLoginComplete,
onError);
alert("made it here");
}
Cảnh báo đầu tiên kích hoạt nhưng lần thứ hai không có nghĩa là chức năng bị lỗi.
Dưới đây là các chức năng Tôi kéo từ Asp.Net Ajax để hiển thị bạn:
function(c, b, a, h, f, d, e, g) {
this._invoke(this._get_path(), "Login", false, { userName: c, password: b, createPersistentCookie: a }, Function.createDelegate(this, this._onLoginComplete), Function.createDelegate(this, this._onLoginFailed), [c, b, a, h, f, d, e, g]);
}
Bất cứ ai có bất cứ ý tưởng về lý do tại sao nó không?
Wow, tôi thậm chí không bao giờ nghĩ đến điều đó haha. Ý tưởng tuyệt vời, Cảm ơn! Làm thế nào để xác định có hay không tôi đang đăng nhập thông qua AJAX? – Matt
MVC cung cấp phần mở rộng cho HttpRequestBase, HttpContext.Request.IsAjaxRequest. Nó kiểm tra xem có một tiêu đề X-HTTP-Requested-With được đặt thành XMLHTTPRequest hay không. – tvanfosson