当前位置:  开发笔记 > 后端 > 正文

如何使用ASP.NET MVC在jQuery AJAX调用中触发"错误"回调?

如何解决《如何使用ASP.NETMVC在jQueryAJAX调用中触发"错误"回调?》经验,为你挑选了3个好方法。

这与我关于如何处理来自jQuery AJAX调用的错误的问题有关.一些响应建议我使用"error"回调来显示jQuery AJAX调用中的任何错误.我想知道如何使用ASP.NET MVC.我的控制器操作是否有办法返回可从"错误"回调中访问的错误?客户端代码看起来像这样:

$.ajax({
   type: "POST",
   url: "MyUrl",
   data: "val1=test",
   success: function(result){
        // Do stuff
   },
   error: function(request,status,errorThrown) {

   }
 });

Adam Lassek.. 21

注意:嘿,这是在ASP.Net MVC甚至达到1.0之前发布的,从那以后我甚至没有看过框架.你可能应该停止提升这一点.


做这样的事情:

Response.StatusCode = (int)HttpStatusCode.BadRequest;
actionResult = this.Content("Error message here");

状态代码应根据错误的性质而改变; 通常,4xx表示用户生成的问题,5xx表示服务器端问题.



1> Adam Lassek..:

注意:嘿,这是在ASP.Net MVC甚至达到1.0之前发布的,从那以后我甚至没有看过框架.你可能应该停止提升这一点.


做这样的事情:

Response.StatusCode = (int)HttpStatusCode.BadRequest;
actionResult = this.Content("Error message here");

状态代码应根据错误的性质而改变; 通常,4xx表示用户生成的问题,5xx表示服务器端问题.



2> Todd Smith..:

如果你正在使用

[HandleError]

然后抛出一个HttpException将被捕获​​并路由到您的自定义错误页面.

另一种选择是使用

Response.StatusCode = 500;
Response.Write("Error Message");
Response.End();

可能有一种更方便的方式来写这个,但我还没有发现它.



3> Derek Morris..:

如果您正在使用MVC 3,那么您可以在控制器中返回一个具有HTTP状态代码和状态消息的ActionResult:

return new HttpStatusCodeResult(500, "Error message");

然后,在你的错误回调中:

error: function (request, textStatus, errorThrown) {
    alert(request.statusText);
}

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有