2010-10-07 25 views
2

document.ready()在IE中的ajax请求后没有触发,但在FF和chrome中工作了一个魅力。 我有两个文件。第一个文件(test.jsp)只有一个提交按钮。 onclick从struts加载第二个文件(result.jsp)。 。这两个文件是在ajax请求后没有触发IE document.ready()

test.jsp的

<html> 
<head> 
<script type="text/javascript" src="/js/jquery-1.2.6.min.js"/></script> 
<script type="text/javascript" src="/js/api.js"></script> 

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#test").click(function() 
    { 
     var path = "/TestAjax.do" 
     $.get(path,function(data) 
     { 
      document.write(data); 

     }); 
    }); 
}); 
</script> 
</head> 
<body> 
<div><h3>Hello World</h3><br/> 
<input type="button" id="test" value="submit"/> 
</div> 
</body> 
</html> 

result.jsp中

<html> 
<head> 
<script type="text/javascript" src="/js/jquery-1.2.6.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    alert("success"); 
}); 


</script> 
</head> 
<body> 
<div><h3>result</h3><br/> 
<!--input type="button" id="test" value="submit"/--> 
</div> 
</body> 
</html> 

时result.jsp中加载警报( “成功”);被称为.... 这适用于FF和铬。 但不是在IE中。警报不会弹出。显示错误作为对象预期我document.ready()行。 但是,如果我们刷新页面工程....

任何帮助将不胜感激...

回答

3

当我做一个Ajax请求,我总是为参数添加一个随机数/串了ajax的URL。这几乎总是固定我的IE相关的错误,因为它强制IE加载重新加载页面,而不是从缓存中使用一个。