我用的是jquery 1.4.2版本来做的.用的是通用方法$.ajax({
  url:"user/userlist.aspx?type=getdata",
  cache:false,
  success:function(html){
  $("#rightcontent").append(html);
  }
});这句代码在ie6 火狐  chrome等浏览器下面都可以正常回显数据..今天换到windows7系统进行开发.但ie8却没有半点反应..
于是加上了一个error参数来调试.error:function(msg){$("#rightcontent").append(msg.toString());},上面的代码就如下:
$.ajax({
  url:"user/userlist.aspx?type=getdata",
  cache:false,
  error:function(msg){$("#rightcontent").append(msg.toString());},
  success:function(html){
  $("#rightcontent").append(html);
  }
});
msg为xmlhttpRequest类型..不可以用toString()方法.
所以IE8会报错..提示调试js代码...然后在调试控制台可以看到局部变量里的msg中的responseText中的值
readystatus=4
status=404
responseText中的值为
 <span><H1>“/”应用程序中的服务器错误。<hr width=100% size=1 color=silver></H1>            <h2> <i>无法找到资源。</i> </h2></span>            <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">            <b> 说明: </b>HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
            <br><br>            <b> 请求的 URL: </b>/user/userlist.aspx<br><br>            <hr width=100% size=1 color=silver>            <b>版本信息:</b>&nbsp;Microsoft .NET Framework 版本:2.0.50727.4927; ASP.NET 版本:2.0.50727.4927            </font>请问如何解决这问题....
这只是ie8才会出现的.

解决方案 »

  1.   

    error:function(msg){$("#rightcontent").append(msg.toString());},//error的函数是3个参数。第一个是xmlHttpRequest对象没错的你的404错误应该和jquery没关系的吧
      

  2.   


    用它加载aspx页面的时候就不成功...加载html文件可以成功...
      

  3.   

    一起来try
    第一步 你先清除下缓存看看
      

  4.   

    如果不行 
    第二步
    设置下IE8的安全设置
    加信任站点或者降低IE8安全设置或者高级里面允许JS什么之类的反正是设置的问题
      

  5.   


    你说的方法都行不通...根本就没办法try..因为数据根本就没有发送到aspx页面上..不懂如何调试js  因为我写的代码基本上是在内存中运行的...
      

  6.   

    HTTP 404,是没有找到,看看你的路径什么的有没有写错啊
      

  7.   

    错误提示是 asp.net/iis 的错误和jquery,ie8没关系……
      

  8.   

    那你说是怎么回事...我在其它浏览器就可以正常....明显就是ie8对jquery的支持不好...
    应该是jquery对ie8的支持不是很好..
      

  9.   


    我说的2个办法你都不去尝试下。结论下的太早了吧。
    你用XMLHttpRequest试试看 是JQUERY的问题还是IE8的问题
      

  10.   


    你怎么知道我没去尝试???
    function C_Http(method,address,senddata,oprate)
    {
    var chttp;
    if(window.XMLHttpRequest){
       chttp=new XMLHttpRequest();
      }else if(window.ActiveXObject){
    chttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
     chttp.open(method,address,true) ;
     chttp.onreadystatechange=function()
     {
                  alert(chttp.readyState +" "+chttp.status);
     if(chttp.readystate==4 && chttp.status==200)
     {alert(chttp.responseText);}
     };
     if(senddata=="") senddata=null;
         chttp.send(senddata);
    }
    function test()
    {
    C_Http("GET","user/test.aspx",null);
    }
    啥都没有...chttp.status都是404 readyState 为 2,3,4
      

  11.   

    我的2个方法全部是针对IE8的安全设置和缓存机制做的
    你测试的只是证明了并非JQUERY的问题
      

  12.   

    有没有试过页面上加一个链接,直接打开 user/userlist.aspx?type=getdata 看看是不是有什么情况? 出来的结果是否如你所要的?你说测试html没有问题,测试aspx有问题。那么是否能保证访问的页面自身没有任何问题?你自己写了一个Ajax程序调试了的,看你的回复好像也是一样的问题,那么可以说就不是jquery的错。你在其它的浏览器中测试没有问题,那么是有可能是IE8的问题。如果你是用的VS调试的,那么就不会是IIS的问题,反这则有可能是。
      

  13.   

    该杀的ie8........郁闷....if(!isIE8){ alert("请不要用ie8..");}
      

  14.   

    web.config的设置问题吧!   
       <system.web>
       
        <webServices>
          <protocols>
            <add name="HttpPost"/>
            <add name="HttpGet"/>
          </protocols>
        </webServices>
      

  15.   

    - -我也碰到了类似的问题 
    ie8中ajax无法获取带有任何脚本的页面 只要获取页面中带有<script>这个标签 就肯定获取失败 = =。。
      

  16.   

    我遇到过IE8 session丢失的问题,是和IE8更新的一个补丁有关系
      

  17.   

    opear,google,firefox,全通过,就ie报404错误,连hello world都带不回
      

  18.   

    我现在也遇到了ie8 AJAX的问题, 同样的代码,在ie6 360等浏览器都能正常运行;但放到ie8上面后,能得到返回值,把需要刷新的区域刷新后,整个页面也重新加载了一遍