在Internet Explorer中运行项目时出现问题

时间:2009-07-23 15:34:04

标签: internet-explorer

我在PHP中创建了一个关于周项目的问题,我使用AJAX使运行时工作和MySQL作为数据库工作。我的整个项目在Firefox甚至Google Chrome中都运行得非常好。但它不适用于Internet Explorer。

它不会进行更改。 例如。如果我使用IE发布,它将不会在响应中显示已发布的问题,即使我尝试刷新。但是,如果我在Firefox中刷新我的项目,它会显示我发布的问题。 要查看IE中的更改,我实际上必须关闭IE并重新开始。

你能否建议我应该做些什么来摆脱这个问题?

4 个答案:

答案 0 :(得分:3)

对于IE,您必须使用Active X

var xmlhttp;
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {
  // code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
else
  {
  alert("Your browser does not support XMLHTTP!");
  }

答案 1 :(得分:1)

IE倾向于缓存AJAX响应。尝试在查询中添加一些随机性,使其看起来每次有AJAX调用时都会请求“新”页面。

答案 2 :(得分:1)

如果您使用AJAX发布问题,您是使用自己的自定义Javascript还是使用框架(如jQuery)?如果你正在编写自己的javascript来处理所有事情,请确保你从浏览器中获得正确的XmlHttpRequest(我用来获取正确对象的代码如下)。此外,您没有说明您正在使用的IE版本。如果您使用的是IE8,则可以使用开发人员工具(按F12或工具 - >开发人员工具)来调试您的JavaScript。

获取XmlHttpObject的代码:

function GetXmlHttpObject() {
  var xmlHttp = null;
  try {
    xmlHttp = new XMLHttpRequest();
  } catch (e) {
    try {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

答案 3 :(得分:0)

对于ajax部分,请参阅其他答案,至于刷新部分,您可能希望了解如何避免IE中的客户端缓存