Я пытаюсь реализовать AJAX с shebang - это означает, что example.com/#!/somepage.php
просто example.com/somepage.php
загружен в область содержимого сайта AJAX.Обработка ответа AJAX в качестве документа?
Очевидный способ сделать это - просто запросить somepage.php
, а затем заменить все содержимое documentElement
на новый документ. Однако это похоже на то, чтобы победить цель AJAX.
Вместо этого я собираюсь загрузить somepage.php
, а затем извлечь часть страницы content
и просто поместить ее в область содержимого.
Чтобы сделать это, я мог использовать регулярное выражение для поиска /<div id="content">.*</div>/
, но это было бы очень плохая идея (самая простая проблема, являющаяся «, которая </div>
заканчивается содержание?). Вместо этого, я хотел бы быть в состоянии просто сделать что-то вроде ajaxresponse.getElementById('content')
, но как бы я идти о преобразовании ajaxresponse
в document
(или documentFragment
) объекта?
или это просто неправильный подход к реализации такой установки AJAX? Я был бы лучше с сервера боковая проверка на X-Requested-With: XMLHttpRequest
и только отправьте обратно содержимое области?
является в том числе 'jQuery' к не так ли? С jQuery Ajax ['.load()'] (http://api.jquery.com/load/): '$ ('# result'). Load ('ajax/test.html #container');'. Я знаю, что вы должны знать, что лучше меня, есть ли проблема с 'shebang' и jQuery? –
Не мог ли ваш обработчик '#!' Просто сделать другой запрос, чем страницу дословно? Например, когда '#!' Обрабатывает '/ somepage.php', запросите' /somepage.php? Json' (который возвращает что-то удобное в использовании). – cheeken
С чистым JS вы также можете добавить запрошенную страницу к скрытому элементу (или просто создать его на лету), а затем захватить загруженный контент div через 'getElementById'. –