Я бы хотел зарегистрировать новых пользователей в приложении asp.net. Вместо использования формы я хотел бы использовать Ajax.Регистрация новых пользователей в asp.net-приложении без формы
Это мой пост функция в моем AccountController:
[System.Web.Mvc.HttpPost]
public async Task<bool> Register(UserItem post) {
try {
var user = new ApplicationUser { UserName = post.UserName, Email = post.UserName };
var result = await UserManager.CreateAsync(user, post.Password);
if (result.Succeeded) {
post.Id = user.Id;
await _userRepository.Save(post);
return true;
}
AddErrors(result);
}
catch (Exception e) {
Console.WriteLine(e);
}
// If we got this far, something failed, redisplay form
return false;
}
И это мой Ajax вызов мой контроллер:
var userJson = ko.toJSON(self.selectedUser);
console.log(userJson);
$.ajax({
type: "POST",
url: "http://localhost:7061/Account/Register",
headers: "application/json; charset=UTF-8",
dataType: "json",
contentType: "application/json",
data: userJson,
error: function (xmlHttpRequest, textStatus, errorThrown, response) {
},
success: function (response) {
console.log(response);
self.loadUsers();
}
});
Но моя функция регистра в контроллере никогда не вызывается.
Спасибо.
Вы должны связать эту функцию Ajax внутри document.ready функции. –
F12 в вашем браузере и проверьте «сеть», чтобы узнать, какой результат вы возвращаете. поможет вам найти ошибку. Вы пробовали данные: {post: userJson}, – KevDevMan
зачем использовать bool в 'Task <>' ?? –