echo"<form>
<input type = button value = 'Узнать' onclick = getAjax('file_1.php','target')>
</form>";
<div id='target'>
</div>
AJAX внутри AJAX-a
по нажатию догружается в див дополнительный файл:
Код:
как сделать, чтобы в этом файле тоже работал HttpRequest?
тупое копирование скрипта (даже с заменой имен) результата не дает
а если я просто в адресной строке обращаюсь к file_1.php, то все работает...
Смысл и цель всего действа? Паралельно вести через AJAX запросы на разные сайты? Не получиться.
AJAX многогранен и туту больше подойдёт метод тыка )
хотя с другой стороны что-то подсказывает мне, что неправильно продумана архитектура приложения, разх приходится прибегать к таким ухищрениям.
возможно, он всё же подгружается, но насколько я знаю, яваскрипты не могут исполняться в динамически загружаемых данных. при динамической загрузке отрабатывается только DOM.
но это всё лишь ИМХО
2 alekciy: одновременно? ;)
Цитата: foxweb
хотя с другой стороны что-то подсказывает мне, что неправильно продумана архитектура приложения, разх приходится прибегать к таким ухищрениям.
Во-во, мне так же думается. Неправильная задумка - кривая реализация.
Цитата: foxweb
возможно, он всё же подгружается, но насколько я знаю, яваскрипты не могут исполняться в динамически загружаемых данных. при динамической загрузке отрабатывается только DOM.
Если вопрос состоит в динамической подрузке JS кода в уже загруженную страницу и его исполнении, то могут. Я помнится делал догрузку кода через AJAX и его исполнение. В принципе не более, чем банальное "наращивание" DOM как это делается при смене фоновых картинок у div-ов и проч.
<script>
var global_ackhhtp="";
function load_req(url,method,data,type,ref){
var req;
req = new ActiveXObject("Microsoft.XMLHTTP");
req.onreadystatechange = processReqChange;
req.open(method, url, false);
if(method=="POST"){
//req.setRequestHeader "User-Agent", "IE";
req.setRequestHeader("Referer",ref);
}
req.send(data);
function processReqChange(){
if(req.readyState == 4){
if(req.status == 200){
if(type=="xml")global_ackhhtp=req.responseXML;
else global_ackhhtp=req.responseText;
}
else{
alert("There was a problem retrieving the XML data:\n"+req.status+" : "+req.statusText);
}
}
}
}
</script>
<input type = button value = "Узнать" onclick = "load_req('index.php','GET','');document.getElementById('target').innerHTML=global_ackhhtp;">
<div id='target'>
</div>
[/HTML]
должно работать
пропарсить получаемый файл на предмет наличия script
и всё что внутри - eval()
код писать не буду ибо js знаю плохо))