IE6 AJAX响应数据问题

时间:2009-10-11 14:02:23

标签: c# .net ajax

我一直在寻找,我找不到任何方法来解决这个问题。

IE6只是对AJAX调用的响应有问题,并且由于数据无效而出错(警告数据显示一个漂亮的奇怪方块)

本地IE6完美运行(相同的页面和相同的数据),我检查并重新检查它在服务器上调用正确的URL与此处,而不是跨域或类似的东西。它实际上也使调用很好并得到响应(OK状态)

通过地址栏在IE6中的实时服务器上调用AJAX网址可以很好地工作并显示所有数据。

我试过强制内容类型和字符集,我已经尝试关闭web.config中的压缩并且它仍然死了......而且我已经没时间了:(

FF3.5,IE7,IE8在本地和服务器上都很完美。服务器是Windows 2008(Rackspace Cloud),本地只是Web Dev Express 2008的内置开发服务器

它是一个MVC C#App ..任何想法都将不胜感激!

编辑:

不是很多我可以粘贴,但确定,控制器:

    public ActionResult TEST()
    {
        return Content("HI THERE!", "text/plain");
    }

当然是文本/ HTML开头。

javascript是一个简单的ajaxURL函数,它加载XMLHttpRequest或MSXML2.XMLHTTP或Microsoft.XMLHTTP。准备状态更改时,如果readyState == 4然后提醒结果及其方块(除非您直接在浏览器中加载URL)

同样,整个网站在所有其他浏览器中加载都很好,所以我认为它更像是一个服务器/配置问题,因为即使IE6也可以在本地运行。我已经完全引用了ajax URL,以防万一(使用代码获取主机,检查非默认端口并将其添加到localhost等等)

查看源代码对ajaxURL的所有调用都是完美的......我会尝试使用UTF-8以外的其他编码选项并检查更多压缩选项。

当然,我不是唯一一个遇到此事的人? HEH

4 个答案:

答案 0 :(得分:3)

发现问题,放在这里以防其他人需要信息:)

内容编码:gzip

这是杀死我的IE6 ajax调用,我只需要在主机上关闭它。它还解释了为什么它在本地工作而不返回垃圾,因为gzip没有在本地设置。

现在我必须找出为什么web.config HttpCompression设置不会影响它被压缩

编辑:

<urlCompression doDynamicCompression="false" doStaticCompression="false"></urlCompression>

这样做了,IE6 ajax工作服务器端再次很好,2:30 am现在我可以上床了! :d

答案 1 :(得分:1)

任何人都有类似IE6和responseText的问题,其中responseText是一个奇怪的方形字符...这是同样的问题!经过几个小时的搜索后才发现了这一点。

解决方案是发送没有Content-Encoding的响应。例如,在PHP中,使用以下标头: header('Content-Encoding:none');

感谢White Dragon最终为我解决了这个问题。

答案 2 :(得分:0)

我遇到了同样的问题,并发现只有在IETester中使用IE6时才会出现这些问题。在单独的工作站IE6-XP-SP2上进行测试时,AJAX响应很好。

答案 3 :(得分:0)

我也有同样的问题。 但我尝试白龙,它不起作用! 我发现ajax多次的数据是一样的, 所以我认为是关于请求缓存。 我把它设置为无缓存,然后我解决了问题。