2010-08-19 2 views
2

Я пытаюсь загрузить html асинхронно, используя функцию jQuery ajax. Но я почему-то это работает, только если асинхронно ложно. Я использую образец кода с сайта jQuery, я не понимаю, почему это не сработает? Я использую браузер Firefox, я попробовал его в IE 8, async: true работает там.jQuery ajax вызывает async: false vs async: true

оповещения показывает, что данные пуст:

$.ajax({ 
       url: 'test.html', 
       async: true, 
       success: function (data) { alert(data); } 
      }); 

данных возвращается с содержанием test.html:

$.ajax({ 
       url: 'test.html', 
       async: false, 
       success: function (data) { alert(data); } 
      }); 

Как ни странно это делает его работу:

var response = $.ajax({ 
       url: 'test.html', 
       async: true, 
       success: function (data) { alert(data); } 
      }); 

      alert(response); 

Что здесь?

ответ

7

ОК, выяснилось: вызов ajax срабатывал при нажатии кнопки, но эта кнопка представляла форму, поэтому вся страница была перезагружена. Добавление «return false»; чтобы щелкнуть событие, чтобы кнопка от отправки формы не изменилась.

+2

Вы, сэр, спасли меня после 4 часов, ища то, что, черт возьми, происходит –

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