如何从 ASP.NET MVC 控制器返回 Ajax“失败”?
Posted
技术标签:
【中文标题】如何从 ASP.NET MVC 控制器返回 Ajax“失败”?【英文标题】:How do I return an Ajax 'failure' from an ASP.NET MVC controller? 【发布时间】:2021-09-15 12:50:46 【问题描述】:我遇到了一个 AJAX 调用,它在响应时具有以下三个操作:
success: function ()
alert('Success');
,
failure: function ()
alert('Failure');
,
error: function (response)
alert(response.responseText);
我正在尝试在 ASP.NET 控制器中返回“失败”,但不确定这是否可行:
例如
[HttpGet]
public JsonResult CallFromAjax()
if (0 > 5)
return Json(true);
else
return Json(false);
我知道为什么这不起作用 - 响应仍然成功,我要做的是在 Ajax success
方法中处理 true
或 false
。
但我实际上需要做什么才能让它以“失败”响应??
失败实际上是因为缺乏响应(例如,可能是由于互联网中断)所以无法模拟吗?
如何以 FAILURE 响应以及如何以 ERROR 响应?
【问题讨论】:
在else条件下设置200以外的响应状态码。 【参考方案1】:在只找到 error
和 success
的结果后,我做了更多的谷歌搜索,是的,这基本上是一个超时问题 - 所以这可以通过在服务器上实现 sleep
或 wait
函数来测试我猜:
什么是 Ajax 失败? 美元。 ajax 方法允许您以毫秒为单位设置超时。发生超时时,将调用失败回调,并将 errorThrown 设置为“超时”。请求被中止,这意味着即使响应稍后到达,jQuery 也不会调用您的 done 回调。
【讨论】:
以上是关于如何从 ASP.NET MVC 控制器返回 Ajax“失败”?的主要内容,如果未能解决你的问题,请参考以下文章
如何将消息从我的存储库类返回到我的控制器,然后返回到我在 asp.net-mvc 中的视图?
如何使用 jQuery 和 ASP.NET MVC 从 AJAX 调用返回错误消息?
ASP.NEt MVC 使用 Web API 返回 Razor 视图