#html #ajax #aspnet_core
Есть асинхронный запрос AJAX, который норм работает, данные в контроллер ходят без проблем и на контроллере тоже все норм работает. Контроллер обновляет данные пользователя. Но если это асинхронный запрос, то он не должен перезагружать страницу. Вот скрипт который срабатывает при загрузке страницы, Достаем данные и распаршиваем в таблицу. Все ок тут. function getDataList() { var serviceURL = '/api/ProfessorsApi/'; $.ajax({ type: "GET", url: serviceURL, contentType: "application/json;", success: successFunc, error: errorFunc }); function successFunc(data, status) { var obj = $.parseJSON(data); Вот скрипт пост метода асинхронного аякс function postData() { let nameStudent = document.querySelector('[name="Name"]').value; let surnameStudent = document.querySelector('[name="Surname"]').value; let midlnameStudent = document.querySelector('[name="Midlname"]').value; let emailStudent = document.querySelector('[name="Email"]').value; let telephoneStudent = document.querySelector('[name="TelNumber"]').value; let oldEmailStudent = document.querySelector('[name="OldEmail"]').value; var parametrs = { Name: nameStudent, Surname: surnameStudent, Midlname: midlnameStudent, Email: emailStudent, TelNumber: telephoneStudent, OldEmail: oldEmailStudent }; var serviceURL = '/api/ProfessorsApi/'; $.ajax({ type: "POST", url: serviceURL, data: JSON.stringify(parametrs), contentType: "application/json;", //success: successFunc, //error: errorFunc }); function successFunc(data, status) { } function errorFunc() { } И вот форма HTML асинхронного запроса которая на onclick отправляет на функцию potsData(). Она в диалоговом окне открывается бутстрапа.Ну и на последок, контроллер [HttpPost] public async TaskPost([FromBody]UpdateUserViewModel model) { if (ModelState.IsValid) { var user = _userManager.FindByEmailAsync(model.OldEmail).Result; if (user != null) { user.Email = model.Email; user.Name = model.Name; user.Surname = model.Surname; user.Midlname = model.Midlname; var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { var studentUpdate = _db.ProfessorModel.FirstOrDefault(m => m.Email == model.OldEmail); if (studentUpdate != null) { studentUpdate.Name = model.Name; studentUpdate.Surname = model.Surname; studentUpdate.Midlname = model.Midlname; studentUpdate.TelNumber = model.TelNumber; studentUpdate.Email = model.Email; await _db.SaveChangesAsync(); } //await _signInManager.SignInAsync(user, false); } } } return "Ok"; } Ответы
Ответ 1
Проблема решилась тем что просто нужно в HTML форме поменять тег input type="submit" на button. Оно ведь так и есть. Сабмит по идеи и должен перезагружать страницу. Поменял и все ок без перезагрузки все работает.
Комментариев нет:
Отправить комментарий