Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON如何从错误中确定成功?_Json_Asp.net Mvc 3 - Fatal编程技术网

JSON如何从错误中确定成功?

JSON如何从错误中确定成功?,json,asp.net-mvc-3,Json,Asp.net Mvc 3,我是JSON新手,一直在MVC3 ASP.NET中使用JSON,但有人能告诉我如何根据JSON结果返回错误吗 我的观点是: $.ajax({ type: "POST", dataType: "json", url: "EditJSON", data: { FilmID: InputFilmID, Title: InputTitle, Description: InputDescription}, success: function (resu

我是JSON新手,一直在MVC3 ASP.NET中使用JSON,但有人能告诉我如何根据JSON结果返回错误吗

我的观点是:

  $.ajax({
     type: "POST",
     dataType: "json",
     url: "EditJSON",
     data: { FilmID: InputFilmID, Title: InputTitle, Description: InputDescription},
     success: function (result) {
        alert(result.Message + " updating film " + result.Title);
        window.location = "../All";
     },
     error: function (error) {
        alert('error');
     }
  });
控制器成功处理请求。对于JSON错误,我应该传回什么,以便在视图中处理error:function

    [AcceptVerbs("POST")]
    public JsonResult EditJSON(BobsMoviesMVC2.Models.Film film)
    {
       filmRepository.Update(film);
       return Json(new {Message = "Success", Title = film.Title });

       // What would I return for an error here?
    }    

谢谢

jQuery使用HTTP响应代码来确定成功或失败

HTTP响应代码>=400被视为错误。HTTP响应代码>=200和<400视为成功


从服务器端代码返回适当的HTTP代码,以获取您所追求的行为。

状态代码不是2xx或3xx的标头,可能是5xx或4xx错误代码。

已确认,在.NET中,您可以放置:

Response.StatusCode=(int)HttpStatusCode.InternalServerError

或者在JSON返回语句之前,输入您想要的任何错误状态代码。(谢谢你,玛丽亚)


查看的“error”选项,查看如何处理客户端上产生的错误。

因此,我只需添加Response.StatusCode=(int)HttpStatusCode.BadRequest;在返回我的json结果之前?很抱歉,我不知道ASP.NET,所以我不能确定在那里做什么。不过,你的建议在我看来似乎是合理的。嗨,你能提供一个例子吗?我想你会回答。Status=“401 Something Error”。