代码之家  ›  专栏  ›  技术社区  ›  Steve Cooper

jquery$.get()函数以200成功,但在firefox中不返回任何内容

  •  1
  • Steve Cooper  · 技术社区  · 15 年前

    我正在写jquery的第一篇文章,我对 jQuery.get() . 我叫这个;

    $.get(url, updateList);
    

    其中updateList的定义是这样的;

    function updateList(data)
    {
        if (data)
        {
            $('#contentlist').html(data);
        }
        else
        {
            $('#contentlist').html('<li><a href="#" id="synclink">Nothing found. Try again</a></li>');
        }
    }
    

    函数运行,并且 updateList 被称为。它在Internet Explorer中工作正常。但是,在火狐中, data 参数始终为空。我希望它能填满我作为网址输入的网页的内容。我用错了吗?

    笔记;

    • 在Firebug中,我启用了 面板,我得到请求显示。我得到了 200 OK . 这个 Headers 标签看起来不错,而 Response HTML 面板都是空的。
    • 我要下载的页面是一个纯HTML页面——服务器代码没有问题。
    • 带javascript的页面在我的机器上是本地的;我正在下载的页面托管在Internet上。
    • 我试过通过将URL从我的页面复制粘贴到浏览器中来检查它——它很乐意返回内容。
    • 即使在火狐安全模式下也会发生这种错误——希望这样可以排除恶意加载项。
    3 回复  |  直到 12 年前
        1
  •  7
  •   Peter Mortensen Len Greski    12 年前

    由于跨域安全,您可能无法执行此操作。Internet Explorer将允许您在运行时使用Ajax远程域 file:// 但火狐和Chrome不会。

    尝试将这两个文件放在同一个服务器上,看看它是否工作(应该工作)。

        2
  •  1
  •   meder omuraliev    15 年前

    您很可能需要修复您使用XHR查询的页面,因为它应该返回内容。复制粘贴Firebug网络选项卡中的链接并创建一个新选项卡,然后用文本编辑器编辑该页面,使其将内容吐回。

        3
  •  0
  •   Bostone    15 年前

    粘贴警报(或firebug中的断点),查看返回的数据是否不是对象(或是否有任何数据)。如果前者-您可能需要钻取对象以获取标记