2016-08-09 2 views
0

Как отправить Http ok и ошибку на мой ajax с контроллера? , например, httpstatuscodeokay и httpstatuscodebadrequest , потому что, когда я поставил инспектировать в моем браузере сказать impresion.js 304 не модифицирована как я могу отправить http на мой ajax с контроллера?

$(document).ready(function() { 
 
     $("#confirmacion-validar-impresion").click(function (e) { 
 
      e.preventDefault(); 
 
      var form = $("form#ValidarImpresion").serializeArray(); 
 

 
      $.ajax({ 
 
       type: "POST", 
 
       dataType: "json", 
 
       url: '/FotoCarnet/ValidarImpresion', 
 
       data: form, 
 
       success: function (response) { 
 
         $("#modal-confirmacion-carne-impreso").modal('toggle') 
 
         timedRefresh(); 
 
       }, 
 
       error: function (response) { 
 
         alert("Carné no impreso") 
 
       } 
 
      }); 
 

 
      $("#confirmacion-reimprimir-carnet-modal").modal('hide'); 
 
      window.onbeforeunload = false; 
 
     }); 
 
    });
 [HttpPost] 
 
     [ValidateAntiForgeryToken] 
 
     public ActionResult ValidarImpresion(FormCollection form) 
 
     { 
 
    //some query 
 
      if (queryBeneficiario.Count() > 0) 
 
      { 
 
       beneficiario = queryBeneficiario.First(); 
 
       beneficiario.impreso = true; 
 
       _dbContext.SaveChanges(); 
 
       return Json(new {sucess= true , HttpStatusCode.OK}); 
 
      } 
 
      else 
 
      { 
 
       Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest; 
 
       return Json(new { success = false }); 
 
      } 
 
     }
<div class="modal fade" id="confirmacion-reimprimir-carnet-modal" tabindex="-1" role="dialog"> 
 
    <div class="modal-dialog" role="document"> 
 
     <div class="modal-content"> 
 
      <div class="modal-header"> 
 
       <h4 class="modal-title">Validar Impresion</h4> 
 
      </div> 
 
      <div class="modal-body"> 
 
       <p><h4>El Carné fue impreso correctamente?</h4></p> 
 
      </div> 
 
      <div class="modal-footer"> 
 
       <form id="ValidarImpresion" name="ValidarImpresion" action="#" method="post"> 
 
        @Html.AntiForgeryToken() 
 
        <input type="hidden" name="cedula" value="@ViewBag.cedula" /> 
 
        <button id="confirmacion-validar-impresion" type="submit" class="btn btn-success">Sí</button> 
 
        <button id="impreso-incorrectamente" type="button" class="btn btn-danger" data-dismiss="modal">No</button> 
 
       </form> 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div>
любая идея?

ответ

0

Вы можете просто вернуть HttpStatusCodeResult (например, 500) в действие yor при ошибке.

[HttpPost] 
     [ValidateAntiForgeryToken] 
     public ActionResult ValidarImpresion(FormCollection form) 
     { 
    //some query 
      if (queryBeneficiario.Count() > 0) 
      { 
       beneficiario = queryBeneficiario.First(); 
       beneficiario.impreso = true; 
       _dbContext.SaveChanges(); 
       return Json(new {sucess= true , HttpStatusCode.OK}); 
      } 
      else 
      { 
       Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest; 
       return new HttpStatusCodeResult(500); 
      } 
     } 
Смежные вопросы