标题怎么说。我尝试了几种方法,但是它们都不起作用。如果有人有时间,我将非常感谢您的帮助。
我的Ajax请求:
$('#deleteUserBtn').click(function () {
$.ajax({
url: 'Profile/DeleteUser',
method: 'DELETE',
headers: {
'Authorization': 'Bearer '
+ sessionStorage.getItem("accessToken")
},
success: function (data) {
sessionStorage.removeItem('accessToken');
window.location.href = "../Login.html";
},
error: function (jQXHR) {
}
});
});
控制器无法正常工作,但是它将使您了解我正在尝试做什么。
控制器:
[RoutePrefix("Personal_Project/Main_Page_Personal_Project")]
[Route("Profile/DeleteUser")]
[HttpDelete]
[Authorize]
public void DeleteUser()
{
string userId = User.Identity.GetUserId();
ApplicationUser LoggedUser = db.Users.Find(userId);
db.Users.Remove(LoggedUser);
db.SaveChanges();
}
我在浏览器控制台中收到此错误:
jquery-3.3.1.min.js:2 DELETE http://localhost:50370/Personal_Project/Main_Page_Personal_Project/Profile/DeleteUser 500(内部服务器错误)
我访问了这些链接,但可以找出答案。帮助任何人吗?
答案 0 :(得分:0)
您可以将附件条目的状态设置为已删除:
string userId = _User.Identity.GetUserId();
ApplicationUser loggedUser = db.Users.Find(userId);
db.Entry(loggedUser ).State = EntityState.Deleted;
db.SaveChanges();
答案 1 :(得分:0)
感谢“ Dot Net Dev”,我学会了使用try-catch块。我的内部异常提示,我还需要删除与用户表相关联的其他表。所以这就是我最终要做的:
gorm