使用ajax加载javascript文件

Load javascript files with ajax

本文关键字:文件 javascript 加载 ajax 使用      更新时间:2023-09-26

只是一个简单的问题。(可能真的很基本)

使用XmlHttp,我可以加载页面,但不确定如何iclude js文件。。

我如何修改下面图像中的代码,以便能够将两个java脚本文件包含在用ajax加载的页面中?到目前为止,我还不是一个java脚本程序员,所以真的需要一些帮助。

谢谢。

clientside.php:
<html>
<head>
<title></title>
  <script src="XmlHttp.js"></script>
  <script>
    var urlServer ="serverside.php";
    var xmlObj = null;
    function callServer(urlServer){
      xmlObj= XmlHttp.create();
          if(xmlObj) {
            xmlObj.onreadystatechange = responseFromServer;
            xmlObj.open("GET", urlServer, true);
            xmlObj.send();
          }
    }       
    function responseFromServer() {
      if (xmlObj.readyState == 4) {
        if (xmlObj.status == 200) {
          document.getElementById("main").innerHTML = xmlObj.responseXML.getElementsByTagName("mybody")[0].firstChild.nodeValue;
          eval(xmlObj.responseXML.getElementsByTagName("myscript")[0].firstChild.nodeValue);                
        }
      }
    }   
  </script>
</head>
<body>
  <div id="main"></div>
  <input type="button" value="Begin test" onClick="callServer(urlServer)">
</body>
</html>

serverside.php :
<?php
  //How do I load these two javascript files together with the <body> below.
  //Obviously the method below does not work..
  $script="
   <script type='text/javascript' src='SlimBox/js/mootools.js'></script>
   <script type='text/javascript' src='SlimBox/js/slimbox.js'></script>
  ";
  $body="
    <body>
    <a href='img/facebook-icon.png' rel='lightbox[roadtrip]' cap='test'><img alt=''border='0' src='img/facebook-icon.png' /></a>
    </body>
  ";
  //Now build the xml page:
  $xml = "<?xml version='"1.0'" encoding='"UTF-8'"?>";
  $xml .= "<mypage>";
  $xml .= "<myscript>".htmlentities($script)."</myscript>";
  $xml .= "<mybody>".htmlentities($body)."</mybody>";
  $xml .= "</mypage>";
  header('Content-type: text/xml');
  echo $xml;
?>

最有效的方法是使用ajax加载脚本源(uri),并使用javavcript更新脚本源

类似于:

 document.getElementById('external_script').src = 'http://cross.domain.com/other.js';

关于如何动态加载脚本的更多信息,请查看