2016-03-03 4 views
1

Это мой код AJAX. Он отлично работает и отправляет данные в мою базу данных. Однако я не получаю alert() на успех.Не получать предупреждения об успехе в AJAX

Можете ли вы сказать мне, почему?

$(function() {  
    $('#placeBid').on('submit', function(e) { 
     $.ajaxSetup({ 
      headers: { 
       'X-CSRF-Token': $('meta[name="csrf_token"]').attr('content') 
      } 
     }); 
     e.preventDefault(e); 
     $.ajax({ 
      method:"POST", 
      url: $("#placeBid").attr("action"), 
      data: $(this).serialize(), 
      dataType: 'json', 
      success: function(data) { 
       if (data == true) 
        alert('working'); 
       else 
        alert('not working');    
      }, 
      error: function(data) {} 
     }) 
    }); 
}); 
+0

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

+0

Как это проверить? Я не вижу никаких ошибок в консоли – hulkatron

+0

, чтобы добавить предупреждение об ошибке «error». –

ответ

1

Удалить опцию dataType: 'json' будет решить проблему, так как обратный вызов будет ждать data быть json, когда вы возвращения я думаю string, потому что вы пытаетесь сделать условие data == true (кстати это будет никогда не было достигнуто, потому что возвращаемый data не мог быть логическим).

Так просто удалить эту опцию и dataType сделает по умолчанию Intelligent Guess для (xml, json, script, or html):

$.ajax({ 
    method:"POST", 
    url: $("#placeBid").attr("action"), 
    data: $(this).serialize(), 
    success: function(data) { 
     if (data == 'true') 
     alert('working'); 
     else 
     alert('not working');    
    }, 
    error: function(data) {} 
}) 

Hopet это помогает.

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