如何从 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 方法中处理 truefalse

但我实际上需要做什么才能让它以“失败”响应??

失败实际上是因为缺乏响应(例如,可能是由于互联网中断)所以无法模拟吗?

如何以 FAILURE 响应以及如何以 ERROR 响应?

【问题讨论】:

在else条件下设置200以外的响应状态码。 【参考方案1】:

在只找到 errorsuccess 的结果后,我做了更多的谷歌搜索,是的,这基本上是一个超时问题 - 所以这可以通过在服务器上实现 sleepwait 函数来测试我猜:

什么是 Ajax 失败? 美元。 ajax 方法允许您以毫秒为单位设置超时。发生超时时,将调用失败回调,并将 errorThrown 设置为“超时”。请求被中止,这意味着即使响应稍后到达,jQuery 也不会调用您的 done 回调。

【讨论】:

以上是关于如何从 ASP.NET MVC 控制器返回 Ajax“失败”?的主要内容,如果未能解决你的问题,请参考以下文章

如何将消息从我的存储库类返回到我的控制器,然后返回到我在 asp.net-mvc 中的视图?

如何使用 jQuery 和 ASP.NET MVC 从 AJAX 调用返回错误消息?

asp.net mvc是啥?

ASP.NEt MVC 使用 Web API 返回 Razor 视图

Asp.net mvc 使用Ajax调用Action 返回数据。

asp.net mvc 使用Ajax调用Action 返回数据