Я пытаюсь реализовать плагин jQuery Address в моем проекте.
Я следую примеру Asual реализации Crawling (т.е. hashbangs).
Мой JavaScript:
<script type="text/javascript">
$.address.init(function(event) {
// Initializes plugin support for links
$('a:not([href^=http])').address();
var handler = function(data) {
$('.content').html($('#content', data).html()).parent().show();
$.address.title(/>([^<]*)<\/title/.exec(data)[1]);
};
// Loads the page content and inserts it into the content area
$.ajax({
url: '/index.php?ACT=87&action=shows&_escaped_fragment_=' + encodeURIComponent(event.value),
error: function(XMLHttpRequest, textStatus, errorThrown) {
handler(XMLHttpRequest.responseText);
},
success: function(data, textStatus, XMLHttpRequest) {
handler(data);
},
contentType: 'text/html'
});
});
</script>
Вызов $ .ajax () запрашивает фиктивную HTML-страницу, которую я создал:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>
<head><title>testing</title>
</head>
<body>
<div id="content">test</div>
</body>
</html>
Я отправляю эту HTML-страницу с типом контента text/html
.
Запрос выполняется успешно, и анонимная функция-обработчик получает данные всей страницы, но команда $('.content).html()
не работает. Когда я делаю alert($('#content', data).html());
, я получаю null
, и ничего не происходит. Нет ошибок, но нет и контента.
На данный момент я почти сошел с ума ... какие-нибудь рекомендации?
Редактировать: Чтобы уточнить, проблема не в самом запросе, ни в URL-адресе, ни в проблеме безопасности браузера. Я просто не могу выбрать и отобразить данные из моего запроса на странице.
Что еще хуже, если я просто заменю URL-адрес $ .ajax () на страницу, которую, как мне известно, не существует (т. Е. Страницу 404), он просто анализирует и отображает мое сообщение 404.