2014-11-18 3 views
0

У меня есть Bootstrap Модальная форма для проверки существования IMO, и я использую jQuery Ajax Post для отправки.jQuery Функция успеха Ajax, не вызываемая в ASP.NET MVC

$('#submitCheck').click(function() { 
 
    $.ajax({ 
 
    type: "POST", 
 
    url: "/Entry/Index", 
 
    dataType: 'json', 
 
    success: function(data) { 
 
     alert("Check"); 
 
     if (data == 'true') { 
 
     alert("RETURN TRUE"); 
 
     window.location.href = "/Entry/Create"; 
 
     } else { 
 
     alert("RETURN FALSE"); 
 
     $('#divStat').html("IMO does not exist"); 
 
     } 
 

 
    }, 
 
    error: function() { 
 
     alert("Something went wrong"); 
 
    } 
 
    }); 
 
})

А вот контроллер:

[HttpPost] 
 
public ActionResult Index(string IMO) { 
 
    var data = db.Ships.Where(d => d.IMO.Equals(IMO)).FirstOrDefault(); 
 
    if (data != null) 
 
    return Json(true); 
 
    return Json(false); 
 
}

Когда я отправить форму, ИМО была проверена, и я наблюдал результат 'истина' (или " false ') в представлении, но в коде jQuery функция успеха не вызывается, поэтому я не вижу «предупреждение» или что-нибудь еще. Что я делаю неправильно?

+0

Вы пробовали смотреть на него с помощью отладчика JavaScript? Не уверен, какой браузер вы используете, но это может быть хорошим местом для начала. Посмотрите, выбрасывает ли он какую-либо ошибку. –

+0

Я использовал Firebug для проверки «данных», но я ничего не вижу. :( –

ответ

0

Вы пытаетесь проверить строку «true» или логическое значение true? Если вы удалите цитаты, это должно быть равно true.
Кроме того, вы можете захотеть сделать что-то вроде этого:
return Json(new { success = true }, JsonRequestBehavior.AllowGet);, так что вы можете сделать:

success: function (data) { 
      //or if(data.success) which evaluates to true. 
      if (data.success == true) { 
       alert("RETURN TRUE"); 
      } 
+0

Я пробовал, как вашу идею, но я ничего не получаю от сервера, после отправки формы, страницы с прямым доступом к .../Entry/Index, and Page get result: {"success": true} –

Смежные вопросы