2013-09-17 2 views
1

Я пытаюсь использовать как, так и .load() функции для загрузки страницы с помощью ajax и добавления содержимого, заменяющего мой текущий $('body').html(). Проблема в том, что когда я попытаюсь это сделать, jquery добавит все (включая содержимое <head></head> в моем теле).jQuery загружает страницу и добавляет только часть тела в мою текущую страницу

$.ajax({ 
    type: 'GET', 
    url: '/somepage.html', 
    success: function(data) { 
    $('body').html(data); 
    } 
}); 

или

$('body').load('/somepage.html'); 

Результат будет что-то вроде

<body> 
    <-- Here starts the content of the head --> 
    <title>....</title> 
    <script src="..."></script> 
    <link src="..."></link> 
    <meta></meta> 
    <-- Here ends the content of the head --> 
    <-- Here starts the real body content --> 
    <div>........</div> 
    <-- Here ends the body content --> 
</body> 

Как я могу избежать этого? Я делаю что-то неправильно?

ответ

0

Из jQuery load docs загрузки фрагмент страницы осуществляется следующим образом:

$('body').load('/somepage.html body'); 

Добавляя второй вариант к url аргумент, который вы можете контролировать то, что напиваться. Вы также можете использовать селектор css во второй части, такой как #someId или .someClass.

+2

кроме этого, похоже, не работает , так как он лишен результата. $ .get() загружает тело, но не имеет трюка фрагмента страницы. – commonpike

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