2015-09-28 3 views
1

Не поддерживает ли jQuery ajax загрузку контента с другой страницы? Я в порядке, используя .load, но просто любопытно, почему?jQuery ajax загрузка содержимого div на другой странице не работает

Например:

var ajaxModal = $('<div />', { 
     'class': 'ajax-modal' 
    }), 
    $data = $(link).data(), 
    options = { 
     url: $(link).prop('href') + ' ' + $data.target 
    }; 

ajaxModal.load(options.url, function() { 
    ajaxModal.appendTo('body').show(); // works 
}); 

$.ajax(options).done(function (data) { 
    ajaxModal.html(data).appendTo('body').show(); // doesn't work 
}); 
+1

Что такое 'ajaxModal'? –

+0

Просто div, где содержимое добавлено. – Morpheus

+0

Вы отлаживали его? Выполняется ли вызов callback? –

ответ

2

От Docs:

.load() метод, в отличие от $.get(), позволяет указать часть удаленный документ должен быть вставлен. Это достигается с помощью специального синтаксиса для параметра url. Если один или несколько символов пробега: , включенный в строку, часть строки, следующая за первым , считается селектором jQuery, который определяет загружаемое содержимое .

Если вы действительно хотите использовать AJAX в вашем случае вы можете использовать что-то вроде:

$.ajax(options).done(function (data) { 
    var DivYouWant = $("#DivYouWant", data); 
    ajaxModal.html(DivYouWant).appendTo('body').show(); // does work 
}); 
+0

Блестящий, прямо к точке :) Спасибо за ответ :) – Morpheus