попробуйте это с помощью jQuery :
$('body').load( url,[data],[callback] );
Подробнее на docs.jquery.com / Ajax / load
У меня есть HTML-страница с типичной структурой:
<html>
<head>
<script src="..." ></script>
<style>...</style>
</head>
<body>
content
</body>
<script>
var success_callback = function(data) {
// REPLACE PAGE CONTENT & STRUCTURE WITH "data"
}
ajax(url, params, success_callback);
</script>
</html>
Как вы думаете, это возможно? Я уже пытался дать html-тегу идентификатор и $(id).replace(data);
без успеха.
Не спрашивайте меня, почему, но это то, что мне нужно (я работаю со специальным сайтом «mashup builder» ... это долгая история).
EDIT : Я забыл сказать, что скрипты в полученном контенте должны исполняться , даже внешние скрипты, включенные с использованием <script src="...">
.
Самый простой способ - установить новый HTML-контент, используя:
document.open();
document.write(newContent);
document.close();
Вот как это сделать в Prototype :$(id).update(data)
И jQuery :$('#id').replaceWith(data)
Но document.getElementById(id).innerHTML=data
должен работать тоже.
EDIT: Prototype и jQuery автоматически оценивают сценарии для вас.
Вы можете попробовать сделать
document.getElementById(id).innerHTML = ajax_response