Javascript 如何在ajax页面中运行脚本

Javascript 如何在ajax页面中运行脚本,javascript,html,ajax,mootools,Javascript,Html,Ajax,Mootools,在单击链接并发送ajax调用以获取响应时,我能够获得正确的响应,但响应页面中的脚本标记不起作用。如何让它运行 这是HTML页面 <HTML> <HEAD> <link rel="stylesheet" type="text/css" href="css/global.css"> <script type="text/javascript" src="js/ajaxgetter.js"></script> <script type

在单击链接并发送ajax调用以获取响应时,我能够获得正确的响应,但响应页面中的脚本标记不起作用。如何让它运行

这是HTML页面

<HTML>
<HEAD>

<link rel="stylesheet" type="text/css" href="css/global.css">
<script type="text/javascript" src="js/ajaxgetter.js"></script>
<script type="text/javascript" src="js/mootools.js"></script>
</HEAD>

<BODY>

<h1>ajax block container</h1>

<div id="container">
    <div id="tab_wrapper">
        <ul id="tab_list" >
            <li>
             <a href="#" id="firstelement" onclick="ajaxenabled('elements/firstelement.html','firstelement','content_tab')">Number 1 </a>               
            </li>
            <li>
             <a href="#" id="secondelement" onclick="ajaxenabled('elements/secondelement.html','secondelement','content_tab')">Number 2</a>
              <br/><br/><br/>
              </li>

        </ul>
    </div>

<br/><br/><br/><br/><br/><br/>

<div id="content_tab">

</div>
</div>

</BODY>
</HTML>
响应页面“firstelement.html”

具有ajax调用的第一个元素
警报(“测试简单功能”);

firstelement.html中的脚本选项卡中出现的警报不会触发,

您应该将该脚本从html文件中移动到.js文件中,并在成功完成ajax调用后调用该脚本。 您的HTML文件将是:

  <HTML>
  <HEAD>

  <link rel="stylesheet" type="text/css" href="css/global.css">
  <script type="text/javascript" src="js/ajaxgetter.js"></script>
  <script type="text/javascript" src="js/mootools.js"></script>
  <script type="text/javascript" src="js/YOUR_SCRIPT_FILE_HERE.js"></script>
  </HEAD>

  <BODY>

  <h1>ajax block container</h1>

  .
  .
  .
然后在html文件中更新loadpage方法,如下所示:

function loadpage(page_request,param,id){

var getblock=document.getElementById(id);

if(page_request.status==200) {
    getblock.style.display='block';
    getblock.innerHTML=page_request.responseText;
    afterAjaxSuccess();                             //updated line here

if(param!=null)
    {
        //alert("showed");
    }   

}
}

您的HTML页面将变成

<h1>First Element having ajax call</h1>
具有ajax调用的第一个元素

没有任何脚本

我只使用mootools,如果在选项中设置了更新,它将评估返回页面中的所有脚本标记,并替换元素中的html。

您能演示如何实现它吗?对于答案,我将尝试让您知道它根据我拥有的列表数量多次发出警报是,如果进行多个ajax调用,它将多次触发该脚本。考虑在加载整个ListIs之后调用脚本中的方法。运行MOOTooS,但不要使用请求类。请求有一个特殊选项
evalscript:true | false
——您可以使用它。
<script type="text/javascript">
alert("testing the simple function");
</script>
function afterAjaxSuccess(){
    alert("testing the simple function");
  }
function loadpage(page_request,param,id){

var getblock=document.getElementById(id);

if(page_request.status==200) {
    getblock.style.display='block';
    getblock.innerHTML=page_request.responseText;
    afterAjaxSuccess();                             //updated line here

if(param!=null)
    {
        //alert("showed");
    }   

}
<h1>First Element having ajax call</h1>