主页面:
document.getElementById("show").innerHTML=xmlHttp.responseText;
...
function showalert()
{
alert("登录超时,请重新登录!");
    window.location.href="login.jsp";
    return true;
}<div id="show" style="z-index: 1"></div>
分页面: <!--即div内-->
返回的是张页面,而页面内的js无法执行,这是为什么...

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【JerryBeckF】截止到2008-07-09 11:01:53的历史汇总数据(不包括此帖):
    发帖的总数量:25                       发帖的总分数:1080                     每贴平均分数:43                       
    回帖的总数量:64                       得分贴总数量:21                       回帖的得分率:32%                      
    结贴的总数量:24                       结贴的总分数:1030                     
    无满意结贴数:7                        无满意结贴分:360                      
    未结的帖子数:1                        未结的总分数:50                       
    结贴的百分比:96.00 %               结分的百分比:95.37 %                  
    无满意结贴率:29.17 %               无满意结分率:34.95 %                  
    值得尊敬
      

  2.   

    <html>
    <head>
    <script type="text/javascript">
    var xmlhttp;
    function loadXMLDoc(url)
    {
    xmlhttp=null;
    if (window.XMLHttpRequest)
      {// code for Firefox, Opera, IE7, etc.
      xmlhttp=new XMLHttpRequest();
      }
    else if (window.ActiveXObject)
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    if (xmlhttp!=null)
      {
      xmlhttp.onreadystatechange=state_Change;
      xmlhttp.open("GET",url,true);
      xmlhttp.send(null);
      }
    else
      {
      alert("Your browser does not support XMLHTTP.");
      }
    }function state_Change()
    {
    if (xmlhttp.readyState==4)
      {// 4 = "loaded"
      if (xmlhttp.status==200)
        {// 200 = "OK"
        document.getElementById('T1').innerHTML=xmlhttp.responseText;
        }
      else
        {
        alert("Problem retrieving data:" + xmlhttp.statusText);
        }
      }
    }
    </script>
    </head><body onload="loadXMLDoc('/example/ajax/test_xmlhttp.txt')">
    <div id="T1" style="border:1px solid black;height:40;width:300;padding:5"></div><br />
    <button onclick="loadXMLDoc('/example/ajax/test_xmlhttp2.txt')">Click</button>
    </body></html>
      

  3.   

    我是说'/example/ajax/test_xmlhttp.txt加入的是一张页面的话,那里面的js方法为什么不能被执行..
      

  4.   

    返回的js脚本不能直接执行
    必须提取出来,然后通过eval函数转换一下才能够执行
      

  5.   


    我不想做提取的工作,那个太烦了简单举个例子,假设你返回的只是javascript脚本var js = eval('('+xmlHttp.responseText+')');
    那么js就是一个伪数组,你的脚本中的所有方法都可以通过js.方法名 得到
      

  6.   

    person.jsp:
    function doAjax()
    {
    var url="PersonAction.action";
    xmlHttp.open("Post",url, true);
    xmlHttp.onreadystatechange = getstate;
    xmlHttp.send(null);
    }
                      
    function getstate()
    {
    if(xmlHttp.readyState == 4)
    {
    if(xmlHttp.status == 200)

    document.getElementById("document").innerHTML=xmlHttp.responseText;
    }
    }
    }<div id="document" style="z-index: 1"></div>PersonAction:
    execute(){
    ...
    return "part";
    ...struts-config.xml:
    <result name="part">personpart.jsp</result>personpart.jsp:
    <script>
    alert('调用了part的js');
    </script>
      

  7.   

    其实说实话,没弄明白你的意思......
    返回的页面?ajax还有页面跳转么?既然要页面跳转为什么还要用ajax?
      

  8.   

    看10楼,我想执行personpart.jsp下的alert()..可是就是没有执行,而<%%>内的java代码是可以执行的
      

  9.   

    我也遇到相似的问题,ajax下<div>嵌入的页面无法再调用ajax!
      

  10.   

    先查看下xmlhttp.status返回的值,在把if判断中的200改掉试下function state_Change()
    { alert(xmlhttp.status);if (xmlhttp.readyState==4)
      {// 4 = "loaded"
      if (xmlhttp.status==200)
        {// 200 = "OK"
        document.getElementById('T1').innerHTML=xmlhttp.responseText;
        }
      else
        {
        alert("Problem retrieving data:" + xmlhttp.statusText);
        }
      }
    }