我在 asp.net 核心中使用 RazorPages。
当我使用 jQuery/Ajax 创建对我的 RazorPage 的发布请求时,OnPost() 方法运行时没有错误,并且响应状态代码设置为 200。
HttpContext.Response.StatusCode = 200;
在 Chrome 控制台中,我的请求返回了错误代码 400,其中包含消息“加载资源失败”。指向错误源的链接将我带到VM6.js 的第 38 行。
类似的代码适用于另一个 RazorPage,因此我认为它可能会尝试呈现我的页面 (.cshtml) 并出错。我通过在加载 cshtml 文件时输出到控制台来证明这个理论是错误的,而在发出 POST 请求时我没有得到这个输出。
这是用于提交我的表单的工作页面和损坏页面共享的 Javascript:
$("[name|='form']").submit(function() {
var formData = $(this).serialize();
$.ajax({
type: "POST",
data: formData,
success: function() {
$("#success").toast("show");
},
error: function(xhr) {
if (xhr.status == 429) {
$("#ratelimit").toast("show");
} else {
$("#error").toast("show");
}
}
});
return false;
});
如何确保我的网络服务器返回代码 200 而不是 400?
达令说
相关分类