Как отправить текстовое значение на мой контроллер с помощью asp.net Mvc
783 просмотра
5 ответа
я новичок в asp MVC, поэтому я попытаюсь создать форму входа с помощью ajax, поэтому я пишу jsonresult, чтобы проверить имя пользователя и пароль в контроллере, и я вызываю его в ajax, но он не работает, когда я пишу правильное имя пользователя и пароль. в лог логин подано вот мой код контроллера
public ActionResult login()
{
return View();
}
[HttpPost]
public JsonResult ValidateUser(string username,string password)
{
using(var contxt=new EnglisCenterEntities())
{
var data = from a in contxt.Employee
where a.Username == username && a.Passwords == password
select a;
if(data.Count()>0)
{
return Json(new { Success = true }, JsonRequestBehavior.AllowGet);
}
else
{
return Json(new { Success = false }, JsonRequestBehavior.AllowGet);
}
}
}
и это мой взгляд и код AJAX
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3 alert alert-warning">
<h2 class="text-center">Login</h2>
<div class="row">
<div class="col-md-12">
<div class="form-group" id="log">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input type="text" id="username" class="form-control" placeholder="Username">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
<input type="password" class="form-control" id="password" placeholder="Password">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<button class="btn btn-warning form-control" type="submit" id="savedata"><i class="glyphicon glyphicon-log-in"></i> Login</button>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function () {
$('#log').submit(function (e) {
e.preventDefault();
var data = {
username: function () { return $("#username").val(); },
password: function () { return $("#password").val(); }
};
$.ajax({
url: "/Account/ValidateUser",
type: "Post",
data:data,
dataType: "json",
success: function (response) {
if (response.Success) {
$.get("@Url.Action("Index", "Home")", function (data) {
$('.container').html(data);
});
}
else
window.location.href = "@Url.Action("Login", "Account")";
},
error: function () {
console.log('Login Fail!!!');
}
});
});
});
</script>
Так почему же код Ajax не проверяет имя пользователя и пароль?
Автор: Mahmoud Samy Источник Размещён: 12.11.2019 09:41Ответы (5)
0 плюса
Я вижу 2 ошибки в вашем коде:
var data = {
username: function() { return $("#username").val(); },
password: function() { return $("#password").val(); }
};
Это поможет вам получить фактические значения ваших входов.
И не строковый объект, просто передать его:
$.ajax({
//...
data: data,
//...
});
Автор: teo van kot
Размещён: 31.03.2016 07:17
0 плюса
Вы должны использовать
event.preventDefault(); on your submit button click
$('#some-form').submit(function(e) {
e.preventDefault();
//Rest of your code here
}
Автор: REDEVI_
Размещён: 31.03.2016 07:15
0 плюса
Если вы хотите передать значение модели в контроллер, значит, вы можете присвоить значение в переменную и опубликовать эту переменную. Но здесь вы получаете два параметра в контроллере. Таким образом, вы передаете два параметра, как этот, а также меняете тип кнопки на кнопку:
<script>
$(document).ready(function () {
$('#savedata').click(function () {
$.ajax({
url: "/Account/ValidateUser",
type: "Post",
data:{"username": $("#username").val(),
"password": $("#password").val()
};,
dataType: "json",
contentType: "application/json",
success: function (response) {
if (response.Success) {
$.get("@Url.Action("Index", "Home")", function (data) {
$('.container').html(data);
});
}
else
window.location.href = "@Url.Action("Login", "Account")";
},
error: function () {
console.log('Login Fail!!!');
}
});
});
});
</script>
Автор: Eraiarasu
Размещён: 31.03.2016 07:22
0 плюса
Ребята, спасибо за ваши ответы и вашу помощь, это работает, это мой код
<script>
$(document).ready(function () {
$('#savedata').click(function (e) {
e.preventDefault();
var data = {
username: function () { return $("#username").val(); },
password: function () { return $("#password").val(); }
};
$.ajax({
url: "/Account/validateuser",
type: "POST",
data: data,
dataType: "json",
success: function (response) {
if (response.Success) {
$.get("@Url.Action("Index", "Home")", function (data) {
$('.container').html(data);
});
}
else
window.location.href = "@Url.Action("Login", "Account")";
},
error: function () {
console.log('Login Fail!!!');
}
});
});
});
Автор: Mahmoud Samy
Размещён: 31.03.2016 07:46
0 плюса
Может быть, вы можете изменить JQuery ajax на JQuery.get ()
$.get('/Account/ValidateUser', { username: "xyx", password: "xyz"})
.success(function (response) {
if (response.Success) {
$.get("@Url.Action("Index", "Home")", function (data) {
$('.container').html(data);
});
}
else
window.location.href = "@Url.Action("Login", "Account")";
})
.fail(function () {
console.log('Login Fail!!!');
});
Автор: K. Ozcelik
Размещён: 31.03.2016 07:49
Вопросы из категории :
- jquery Прокрутка переполненных DIV с помощью JavaScript
- jquery Экранирование строк HTML с помощью jQuery
- jquery Как сравнить HTML-сущность с JQuery
- jquery Есть ли функция "существует" для jQuery?
- jquery Как удалить все параметры в окне выбора, а затем добавить один вариант и выбрать его с помощью jQuery?
- jquery Получение идентификатора элемента, который вызвал событие
- ajax Есть ли какой-нибудь способ для передачи данных с веб-сервера в браузер?
- ajax Как получить результат из модального диалога в JQuery
- ajax Как я могу подавить диалог аутентификации браузера?
- ajax Обновление хода сервера на Rails-приложении
- ajax JQuery получить текстовый текст
- asp.net-mvc Каков наилучший способ проверки полей с использованием ASP.NET MVC?
- asp.net-mvc От клиента было обнаружено потенциально опасное значение Request.Form
- asp.net-mvc Проверка на стороне клиента ASP.NET MVC
- asp.net-mvc ASP.NET MVC - передача параметров в контроллер
- asp.net-mvc Разница между ViewData и TempData?
- asp.net-mvc Почему AuthorizeAttribute перенаправляет на страницу входа в систему при сбое аутентификации и авторизации?