【问题标题】:jquery get method working in safari but not in firefoxjquery get 方法在 safari 中工作但在 firefox 中不工作
【发布时间】:2013-02-07 05:19:04
【问题描述】:

我有这两个页面:

第 1 页:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Test jquery.get()</title>
    <script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
    <div class="result"></div>
    <script type="text/javascript" charset="utf-8">
        $.get('tests.html', function(data) {
        $('.result').html(data);
        alert(data);
        });
    </script>
</body>
</html>

第 2 页:

<html>
<body>
    <form action="#" method="get" accept-charset="utf-8">
        <input type="text" name="some_name" value="" id="some_name">
        <p><input type="submit" value="Continue &rarr;"></p>
    </form>
</body>
</html>

第一页加载第二页,但它只在 Safari 中有效,在 Firefox 中无效。我错过了什么?

【问题讨论】:

  • 你所说的“作品”到底是什么意思,你能澄清一下你得到了什么吗?
  • 您在 Firefox 中看到了哪些错误?您是否尝试过使用内置开发工具或 Firebug 进行调试?
  • 你的意思是alert(data); 我确定这不是你的问题..只是检查一下。
  • 我没有看到填充的 div 或警告框。

标签: jquery html cross-browser


【解决方案1】:

您当前的代码显然是将整个 HTML 文档的标记注入到 &lt;div&gt; 元素中。 Firefox 可能对位于 &lt;div&gt; 下的 &lt;html&gt; 树不满意。

尝试在对html() 的调用中减少对&lt;form&gt; 元素的标记:

$.get("tests.html", function(data) {
    $(".result").html($(data).find("form").html());
});

或者更好的是,使用专为此目的设计的load()

$(".result").load("tests.html form");

【讨论】:

  • 那我担心问题出在其他地方,所以我同意@j08691的建议:打开一个Firebug控制台并检查那里报告的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多