【发布时间】:2019-10-12 13:18:09
【问题描述】:
我在 razor 页面中做了很多 ajax,但我不知道为什么这不起作用。它一直在开发工具上给我错误 400。无论如何它都不会到达页面处理程序。
<script>
$.ajax({
url: "/Account/Users/Index?handler=Delete",
type: "POST",
data: {
id: id
},
success: function () {
swal("Utilizador Desactivado!", {
icon: "success",
});
},
error: function (xhr, ajaxOptions, thrownError) {
swal("Falha na ligação ao servidor. Tente novamente mais tarde.");
}
});
</script>
页面处理程序
public async Task<IActionResult> OnPostDeleteAsync(int? id)
{
if (id == null)
{
return NotFound();
}
var user = await _context.Users.FindAsync(id);
if (user != null)
{
user.IsActivo = false;
_context.Users.Attach(user).Property( u => u.IsActivo).IsModified = true;
await _context.SaveChangesAsync();
}
return RedirectToPage("./Index");
}
我尝试了许多 url 组合,但都没有奏效。我看不出这里有什么问题......
编辑
问题似乎是在剃须刀页面上没有验证防伪令牌。
我在页面模型上写了 Ignore Anti forgery Token,一切正常
【问题讨论】:
-
这里的“不起作用”到底是什么意思?如果你调试发生了什么?
-
它没有到达页面处理程序,只是在浏览器上的开发工具上给出错误 400
标签: javascript c# ajax razor-pages