我用的是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> Microsoft .NET Framework 版本:2.0.50727.4927; ASP.NET 版本:2.0.50727.4927 </font>请问如何解决这问题....
这只是ie8才会出现的.
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> Microsoft .NET Framework 版本:2.0.50727.4927; ASP.NET 版本:2.0.50727.4927 </font>请问如何解决这问题....
这只是ie8才会出现的.
用它加载aspx页面的时候就不成功...加载html文件可以成功...
第一步 你先清除下缓存看看
第二步
设置下IE8的安全设置
加信任站点或者降低IE8安全设置或者高级里面允许JS什么之类的反正是设置的问题
你说的方法都行不通...根本就没办法try..因为数据根本就没有发送到aspx页面上..不懂如何调试js 因为我写的代码基本上是在内存中运行的...
应该是jquery对ie8的支持不是很好..
我说的2个办法你都不去尝试下。结论下的太早了吧。
你用XMLHttpRequest试试看 是JQUERY的问题还是IE8的问题
你怎么知道我没去尝试???
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
你测试的只是证明了并非JQUERY的问题
<system.web>
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpGet"/>
</protocols>
</webServices>
ie8中ajax无法获取带有任何脚本的页面 只要获取页面中带有<script>这个标签 就肯定获取失败 = =。。