2012-03-15 2 views
1

Я использую Ajax и код, который описан ниже. Я хочу включить .js-файл в Ajax XMLHttpRequest. Кто-нибудь знает, как это сделать?Включить js-файл в Ajax XMLHttpRequest

Например: У меня есть код ниже:

function getXMLHttp() 
{ 
    var xmlHttp 

    try 
    { 
    //Firefox, Opera 8.0+, Safari 
    xmlHttp = new XMLHttpRequest(); 
    } 
    catch(e) 
    { 
    //Internet Explorer 
    try 
    { 
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch(e) 
    { 
     try 
     { 
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     catch(e) 
     { 
     alert("Your browser does not support AJAX!") 
     return false; 
     } 
    } 
    } 
    return xmlHttp; 
} 

function MakeRequest(id) 
{ 
    var xmlHttp = getXMLHttp(); 

    xmlHttp.onreadystatechange = function() 
    { 
    if(xmlHttp.readyState == 4) 
    { 
     HandleResponse(xmlHttp.responseText); 
    } 
    } 

    xmlHttp.open("GET", "updatesite.admin.php?id="+id, true); 
    xmlHttp.send(null); 
} 

function HandleResponse(response) 
{ 
    document.getElementById('Vsebina').innerHTML = response; 
} 

Когда функция вызова программы MakeRequest (идентификатор), то я хочу также выполнен некоторый файл .js. Можно ли это сделать?

+0

К "Я хочу, чтобы включить .js файл в Ajax XMLHttpRequest." вы имеете в виду «Я хочу добавить JS на страницу с помощью' innerHTML' и выполнить ее? » XMLHttpRequest кажется чем-то вроде красной селедки. – Quentin

ответ

1

Вы всегда можете поместить этот код в функцию, чтобы вызвать сценарий, который будет загружен и выполнен ...

var script = document.createElement("script"); 
script.type = "text/javascript"; 
script.src = "http://location-of-script.js"; 
document.body.appendChild(script); 

Вот полный пример. Эти два файла должны находиться в одной папке на сервере.

Это hello.html:

<html> 
<head> 
<script type="text/javascript"> 
function doit() 
{ 
    var scr = document.createElement('script'); 
    scr.type = "text/javascript"; 
    scr.src = "hello.js"; 
    document.body.appendChild(scr); 
} 
</script> 
</head> 
<body> 
<input type="button" value="hello" onclick="doit();"> 
</body> 
</html> 

И это hello.js:

alert("helloooo!!"); 
+0

Спасибо за ответ, но это не поможет. –

+0

действительно? Я использую это много. – dldnh

+0

Да, протестировал его в более полном примере, чтобы убедиться, что я не уронил ни одного бита на пол. – dldnh