Как манипулировать текстом ответа ajax - PullRequest
0 голосов
/ 05 июля 2011

У меня есть такой код Ajax:

var req = new XMLHttpRequest();<br> req.open('GET', 'http://www.example.org/', false); req.send(null);<br> if(req.status == 200)<br> var response = http_attendance.responseText; document.getElementById('divAttendance').innerHTML = response;

Когда я получаю результат на странице, браузер FF показывает элементы DOM в divAttendance. Если я хочу наложить какой-либо эффект jquery на результат, я не смогу это сделать.

Элементы DOM хорошо видны с помощью firebug. Но когда я сгенерирую исходный код этой страницы, то нет никакого текста отклика на «divAttendance». Это пусто, как этоL:

<html>
....
..
<div id="divAttendance"></div>
..
..
</html>

Как манипулировать или воздействовать на этот результат ???

1 Ответ

0 голосов
/ 05 июля 2011

Ну, если вы используете jQuery, то вы должны в любом случае использовать jquery ajax http://api.jquery.com/jQuery.ajax/

Независимо от того, если вы заполняете свой div ответом AJAX, он не будет отображаться при использовании «View Source», скорее, вам придется использовать такой инструмент, как firebug.

Ваш div изначально должен выглядеть следующим образом

<div id="divAttendance" style="display:none"></div>

и ваш javascript должен иметь следующее

.....
document.getElementById('divAttendance').innerHTML = response;
$("#divAttendance").show("slow");

Для таких операций загрузка jQuery проста и полезна, взгляните на http://api.jquery.com/load/

Ваш конкретный пример можно переписать как

<html>
....
IMPORT JQUERY.JS
<script language="javascript">
$('#divAttendance').load('http://www.example.org/', function() {
 $("#divAttendance").show("slow");
});     
</script>
..
<div id="divAttendance" style="display:none"></div>
..
..
</html>
...