2013-05-15 4 views
0

Я использовал e.preventDefault() в Jquery для загрузки html-страницы в. На странице html есть какое-то действие Ajax, которое будет получать данные с сервера. Я получил это работает, чтобы отобразить страницу, но не данные Ajax, которые она получила. Мне кажется, что отображение страницы происходит до того, как данные переадресации ajax. Но без e.preventDefault, при нажатии на ссылку, страница открывает новую страницу и работает со всеми данными, полученными с страницы ajax. Любое решение или помощь для задержки страницы загрузки.e.preventDefault загружает пустую страницу без данных Ajax

$(document).ready(function() { 
    $('a').click(function (e) {      
     $("#content").load($(this).attr("href"));    
     e.preventDefault();  
    });    
}); 
+3

вы попробовали поставить 'e .preventDefault(); 'сначала, а затем метод загрузки ??? –

+0

сделал это .. такой же результат. – user2386031

ответ

0

Наиболее вероятной причиной является то, что страница, которую вы загружаете пожаров Аякса запросов как часть обработчика событий. Например.

$(document).ready(function(){ 
    fetchDataByAjax(); 
} 

Однако это событие не будет устранено, если вы загрузите его через ajax. событие готовности документа уже произошло, и это произойдет только один раз.

Чтобы сделать его работу, вам необходимо будет добавить javascript в обычное место и включить его в обе страницы. В одном вы все равно выполнили бы метод (ы) в документе. Уже или когда бы вы ни использовали), в то время как в другом вы его выполните, когда вы вставили html в #content

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