代码之家  ›  专栏  ›  技术社区  ›  David Weng

$.get()适用于IE,但不适用于FF

  •  5
  • David Weng  · 技术社区  · 15 年前

    有人能告诉我这个代码有什么问题吗?它在IE8中运行良好,但在FF3中不起作用。

    $.get("http://google.com/", function(data) { alert(data); });
    

    它向我显示了警报窗口,但它是空的。

    5 回复  |  直到 15 年前
        1
  •  8
  •   Aardvark    15 年前

    我相信这与两个浏览器之间的跨域AJAX限制有关。对于AJAX,FireFox更加严格(安全)。你的代码违反了FireFox的 "Same Origin Policy

    希望这有帮助!

        2
  •  7
  •   Andy E    15 年前

    same origin policy . 很可能,您已经为站点区域设置了安全设置,以便能够跨域访问数据:

    要更改此行为(您可能应该这样做),请转到“Internet设置”->安全”->选择当前站点的区域”->选择自定义级别。。。

        3
  •  3
  •   Ender    15 年前

    请阅读$.get()的文档(或者任何其他jqueryajax调用)。

    http://api.jquery.com/jQuery.get/

    它在页面下方指定了以下内容:由于浏览器的安全限制,大多数“Ajax”请求都受同源策略的约束;请求无法成功地从其他域、子域或协议检索数据。

    这很可能是你问题的根源。

        4
  •  2
  •   Community Mohan Dere    6 年前

    不能使用AJAX将请求发送到其他域。

    在IE中,您显然启用了此选项。

    坏的 安全孔。

    你应该立即重新禁用它

        5
  •  0
  •   Ian Henry    15 年前

    为了安全起见,AJAX不允许这样的跨站点请求——我很惊讶它能在IE中工作。不过,它应该在您自己的域中工作。