Member 14552976 Ответов: 0

Здравствуйте , я передаю данные в ajax, но это дает мне ошибку, так как не удалось загрузить ресурс: сервер ответил статусом 500 (внутренняя ошибка сервера)


это мой код.
@{
Layout = null;
}
@{
Видовой мешок.Название = "Энтеротп";
}

Энтеротп


@*@ViewBag.otp*@
Otp отправляется на вашу электронную почту ,копируется и вставляется сюда для подтверждения









var verifyotp = функция () {
var otp = $('#enterotp').val();
отладчик
$.Аякс({
url: "/Signup/VerifyOTP",
сведения: ОТП,
тип: "почта",
успех: функция (данные) {

отладчик
if (data == true) {
alert("проверено успешно");
окно.location = "/Login/Login";
}
еще {
предупреждение("не удалось проверить OTp");
}
}
})
}


это мой метод действий
public ActionResult EnterOTP()
{
возвращение смотреть();
}

[HttpPost]
public JsonResult VerifyOTP(строка otp)
{
использование (var db = new OfficeEntities())
{
Счет = новый аккаунт();
БД.счета.Где(x => x.Otp.ToString() ==otp );
// дБ.Запись(Метод Isactive).State = EntityState.Модифицированный;
счет.Метод isactive = истина;
дБ.Метод SaveChanges();

}

return Json(, JsonRequestBehavior.AllowGet);

}

Что я уже пробовал:

я хочу это проверить
public ActionResult EnterOTP()
{
возвращение смотреть();
}

[HttpPost]
public JsonResult VerifyOTP(строка otp)
{
использование (var db = new OfficeEntities())
{
Счет = новый аккаунт();
БД.счета.Где(x => x.Otp.ToString() ==otp );
// дБ.Запись(Метод Isactive).State = EntityState.Модифицированный;
счет.Метод isactive = истина;
дБ.Метод SaveChanges();

}

return Json(, JsonRequestBehavior.AllowGet);

}

jimmson

Вам нужно будет откопать настоящее исключение. Внутренняя ошибка сервера-это общая ошибка, говорящая о том, что на стороне сервера что-то не так.

Richard Deeming

Ошибка 500 означает, что в вашем коде на стороне сервера произошла ошибка. Вам нужно найти подробности этой ошибки. Попробуйте проверить запрос AJAX на вкладке Сеть инструментов разработчика Вашего браузера, чтобы увидеть, возвращает ли сервер подробное сообщение об ошибке.

Тем не менее, серверный код, который вы разместили, не имеет никакого смысла. Вы создаете новый Account объект; объявить запрос, но никогда не выполнять его; установить свойство для нового объекта. Account и сохраните изменения в базе данных, которых там не будет. Я бы ожидал чего-то более похожего:

Account account = db.Accounts.FirstOrDefault(x =>. x.Otp == otp);
if (account == null) return Json(false);
account.IsActive = true;
db.SaveChanges();
return Json(true);


NB: Ваш метод разрешает только POST-запросы, поэтому нет смысла указывать JsonRequestBehavior.AllowGet вариант.

0 Ответов