2013-02-06 41 views
2

工作,我有這兩個網頁:jQuery的get方法在Safari,但不能在Firefox

第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。我錯過了什麼?

+0

究竟你的意思是什麼「作品」,你能澄清你所得到的? –

+1

您在Firefox中看到什麼錯誤?您是否嘗試過使用內置開發工具或Firebug進行調試? – j08691

+0

你是不是指'警報(數據);'我確定這不是你的問題..只是檢查。 –

回答

2

您當前的代碼顯然是將整個HTML文檔的標記注入到<div>元素中。對於位於<div>下的<html>樹,Firefox可能不滿意。

嘗試減少的標記您<form>元素在您的來電html()

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

或者更好,使用load(),這是專爲這個目的:

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

這是一個很好的解決方案,但它不起作用。 – mpora

+0

那麼恐怕問題出在其他地方了,所以我第二@ j08691的建議是:打開一個Firebug控制檯並檢查那裏報告的內容。 –

相關問題