在点击发送ajax调用以获取响应的链接时,我能够得到正确的响应,但响应页面内的脚本标记不起作用。如何使它运行如何在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>
的JavaScript代码
function ajaxenabled(url,param,id)
{
var page_request = false
if (window.XMLHttpRequest){
page_request = new XMLHttpRequest()
}
else if (window.ActiveXObject){
try{
page_request = new ActiveXObject("MSXML2.XMLHTTP")
}
catch (e){
try {
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false;
page_request.onreadystatechange=function(){
if(param!=null)
{
loadpage(page_request, param,id);
}
if(param==null)
{
loadpage(page_request,'',id);
}
}
page_request.open('GET', url, true);
page_request.send(null);
}
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;
if(param!=null)
{
//alert("showed");
}
}
}
响应页面 “firstelement.html”
<h1>First Element having ajax call</h1>
<script type="text/javascript">
alert("testing the simple function");
</script>
警报当前脚本选项卡内里面的firstelement.html没有触发,
您运行mootools,但不使用Request类。请求有一个特殊选项'evalScripts:true | false' - 您可以使用它。 – 2012-02-21 15:08:10