【问题标题】:Issue with jQuery $.get() in IEIE 中的 jQuery $.get() 问题
【发布时间】:2009-08-30 14:57:52
【问题描述】:

我正在开发一个小型聊天应用程序,它使用 jQuery 从 PHP 文件中获取一些信息。 文件的输出是一大堆 HTML 数据。

该脚本在 FF 中运行良好,但在 Internet (f***ing) Explorer 中却不行,哈哈。 代码如下所示:

$.get("index.php", {p: "chatData", type: "regular"}, function(data){
     startPoint = data.indexOf("|START-POINT|");
     endPoint = data.indexOf("|END-POINT|");
     dataReturn = data.substring(startPoint, endPoint);
});

问题是,我必须访问我的 chatData.php 文件中的一些 SESSION 变量。 因此,我使用 p-varable 调用 index.php,其中包含 chatData.php 到我的 index.php 文件中,其中设置了 SESSION 变量。这可能不是最好的解决方案,但我想不出另一种访问 SESSION 变量的方法。无论如何。

但是当我这样做时,回调也将包含 index.php 中的所有 html,但我只想要 chatData.php 中的数据,因此我将这些 start- 和 endPoints 放入代码中,所以它可以做子串并以这种方式获取所需的数据。同样的事情,也许不是最好的解决方案......

但现在问题来了! 回调数据只包含 index.php 中的 html,它应该是 index.php html + chatData html ......但我认为问题在于这个 index.php 包含,因为如果我像往常一样调用文件,我将获取数据(不过,正如我所说,我还需要 index.php 中的 SESSION 变量......)。

那么为什么这在 IE 中不起作用,但在 FF 等其他浏览器中却很好?

编辑:问题解决了。问题是我在我的 php 文件中的 START-POINTS,它们被错误地放置了......对于那个愚蠢的错误感到抱歉。还是谢谢你!

【问题讨论】:

  • 既然这基本上是 vava 所说的,你应该选择他的答案而不是对问题进行编辑。

标签: jquery internet-explorer get


【解决方案1】:

您是否检查过 index.php 是否获取了您发送给它的参数并包含您的其他文件?好像它没有,HTML 不能神奇地消失 :) 也许 IE 将它设置为 $_POST 变量,而不是通过 $_GET 或其他东西的 Firefox。

【讨论】:

    【解决方案2】:

    IE 默认缓存 ajax 请求。您可以通过两种方式解决此问题:

    1. jQuery.ajax()cache 选项设置为false
    2. 将带有时间戳的查询字符串附加到 URL。

    编辑:哦,你已经自己解决了..无论如何希望以上信息仍然有用。未来你永远不会知道 IE。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多