2013-05-11 2 views
0

Моего проекте имеет АЯКС функции ПОЛУЧАЕТ:MVC JQuery успех Ajax GET возвращает даже об ошибке

$('#DetailMaxGuest').change(function() { 
     var result = $('#DetailMaxGuest').val(); 
     var resultparse = parseInt(result); 
     var resultid = $('#resultid').val(); 
     $('#DetailMaxGuest option:selected').val(result).attr('selected', 'selected'); 
     var message = {'resultid':resultid, 'data':resultparse}; 
     $.ajax({ 
      type: 'GET', 
      url: '/Product/GetMaxGuest', 
      data: message, 
      success: function (data, success) { 
       $('#reservation-result').html(success).fadeIn(2000); 
      }, 
      error: function (data, error) { 
       $('#reservation-result').html(error).fadeIn(2000); 

      } 
     }); 

    }); 

и мой контроллер;

public JsonResult GetMaxGuest(int? data,Guid? resultid) 
     { 
      var appid =resultid; 
      System.Threading.Thread.Sleep(500); 
      var firstOrDefault = _bb.Aparts.FirstOrDefault(m => m.ApartID == appid); 
      if (firstOrDefault != null) 
      { 
       var maxguest = firstOrDefault.ApartMaxGuest; 
       if (data > maxguest) 
       { 
        return Json(new { error=true, msg="Basarisiz" },JsonRequestBehavior.AllowGet); 

       } 
       if (data <= maxguest) 
       { 
        return Json(new { success = true, msg = "Basarili" },JsonRequestBehavior.AllowGet); 

       } 
      } 
      return Json(new { error = true, msg = "Basarisiz" }, JsonRequestBehavior.AllowGet); 

     } 

и начать ошибка возврата передачи:

{"error":true,"msg":"Basarisiz"} 

но на моей странице пишет success. Почему я не вижу сообщение об ошибке?

ответ

0

сделать тип данных, как json:

$.ajax({ 
     type: 'GET', 
     url: '/Product/GetMaxGuest', 
     data: message, 
     dataType: 'json', 
     success: function (data) { 
      if (data.error) { 
       $('#reservation-result').html(data.msg).fadeIn(2000); 
      } else { 
       $('#reservation-result').html('success').fadeIn(2000); 
      } 
     }, 
     error: function (data, error) { 
      // you don't have to do this 
      // $('#reservation-result').html(error).fadeIn(2000); 

     } 
    }); 
0

Возвращение JSON, содержащий сообщение об ошибке не приведет вас к функции обратного вызова ошибки

вам нужно сделать, это -

$.ajax({ 
     type: 'GET', 
     url: '/Product/GetMaxGuest', 
     data: message, 
     dataType:'json', 
     success: function (data) { 
      if(!data.error){ 
      $('#reservation-result').html("Success :" + data.msg).fadeIn(2000); 
      } 
      else{ 
       $('#reservation-result').html("Error :" +data.msg).fadeIn(2000); 
      } 
     }, 
     error: function (data, error) { 

     } 
}); 
Смежные вопросы