2017-06-01 13 views
1

ajaxエラーでカスタムメッセージを表示する方法はありますか?私は返品コンテンツからのajaxレスポンスがIHttpActionResultでnon-OKレスポンス

[HttpPost] 
public IHttpActionResult CrearProducto(EProducto Producto) 
{ 
    if (objBLProducto.ObtenerProductoRepetido(Producto, ConnectionStringStore).Count > 0) 
    { 
     return Content(HttpStatusCode.BadRequest, "Producto repetido"); 
    } 
    if (objBLProducto.InsertarProducto(Producto, ConnectionStringStore)) 
    { 
     return Ok(Producto); 
    } 
    else 
    { 
     return InternalServerError(); 
    } 
} 
クライアント側で

$.ajax({ 
    url: "/API/Producto/", 
     method: "POST", 
     data: EProducto, 
     dataType: "json", 
     type: "POST", 
     success: function() { 
      toastr.success("Correcto"); 
     }, 
     error: function (jqXHR, textStatus, errorThrown) { 
      toastr.error(jqXHR.responseText); 
     } 
}); 

サーバー側でこれを持っているしかし、私は、クライアント側でカスタムエラーを表示することができません。

答えて

0

解決策が見つかったら、私に教えてください。 サーバー側

[HttpPost] 
public IHttpActionResult CrearProducto(EProducto Producto) 
{ 
    try 
    { 
     IHttpActionResult response; 
     HttpResponseMessage responseMsg = new HttpResponseMessage(HttpStatusCode.RedirectMethod); 
     if (ConnectionStringStore == string.Empty) 
     { 
      var request = HttpContext.Current.Items["MS_HttpRequestMessage"] as HttpRequestMessage; 
      var httpContext = (HttpContextWrapper)request.Properties["MS_HttpContext"]; 
      ConnectionStringStore = httpContext.Session[EnumSession.Variable.KeyConfig.ToString()].ToString(); 
     } 
     if (objBLProducto.ObtenerProductoRepetido(Producto, ConnectionStringStore).Count > 0) { 
      responseMsg.Content = new StringContent("Elemento duplicado"); 
      response = ResponseMessage(responseMsg); 
      return response; 
     } 
     if (objBLProducto.InsertarProducto(Producto, ConnectionStringStore)) 
     { 
      return Ok(Producto); 
     } 
     else 
     { 
      return InternalServerError(); 
     } 
    } 
    catch (Exception Ex) 
    { 
     HelperLog.PutStackTrace(Ex); 
     return InternalServerError(); 
    } 
} 

クライアント側

  $.ajax({ 
       url: "/API/Producto/", 
       method: "POST", 
       data: EProducto, 
       dataType: "json", 
       type: "POST", 
       success: function() { 
        toastr.success("Correcto"); 
       }, 
       error: function (jqXHR, textStatus, customErrorMessage) { 
        toastr.error(jqXHR.responseText); 
       } 
      }) 
関連する問題