2013-03-05 104 views
1

jquery在firefox上不工作,但在chrome上工作。
主要問題出現在$(「#p1」)。html(數據)行,它不會在瀏覽器上顯示數據。
任何人都可以幫我弄清楚爲什麼?

html代碼:
1)當我點擊開始按鈕後,後端會發回一個字符串。
2)在handleData中,$(「#p1」).html(data)不會在firefox上顯示該字符串(但在chrome上,它是可以的)。

<html> 
<head> 
<script src="js/jquery/jquery-1.7.2.min.js" type="text/javascript"></script> 

<script type="text/javascript"> 
    function handleData(data, status) { 
     $("#p1").html(data); 
    }; 

    $(document).ready(function() { 
     $("#start").click(function() { 
      $.get("testAsync?start=yes", handleData); 
     }); 

     $("#submitResult").click(function() { 
      // jquery get the result value. 
      var $result = $("#result").val(); 
      $.get("testAsync?result=" + $result, handleData); 
     }); 
    }); 
</script> 
</head> 
<body> 

    <div id="content"> 
     <button id="start">Start Test</button> 

     <p id="p1"></p> 

     <input type="text" id="result" value="" /> <input type="button" 
      id="submitResult" value="Submit" /> 
    </div> 

</body> 
</html> 
+1

不應該傳遞參數給回調函數嗎? – greener 2013-03-05 23:53:46

+2

@greener:參數通過'$ .get'傳遞。 – 2013-03-05 23:54:50

+0

Firefox有時比Chrome更嚴格的安全和隱私控制。您的ajax請求有可能被阻止。你可以發佈一個jsfiddle嗎?或發佈每個瀏覽器發送的實際請求和響應? – 2013-03-05 23:56:58

回答

0

您可能希望將返回的數據類型添加到$不用彷徨 http://api.jquery.com/jQuery.get/ Firefox可能是「猜測」(是jQuery的API說這)返回類型錯誤。

+0

我試過了,$(「#p1」)。html($。get(data)),它仍然不起作用。正如我在另一個答覆中所說的。如果我將「content-type」指定爲「text/html」,那麼FF也可以工作。 – huican 2013-03-06 01:24:03

2

它看起來像Firefox是非常嚴格與「內涵式」,如果我不指定它,它認爲爲「text/xml」的,因此造成了瀏覽器不顯示它正確。
如果我將它設置爲「text/html」,那麼我可以看到顯示的數據。

+0

你能分享你指定'內容類型'嗎? – nextofsearch 2013-04-25 12:07:19

相關問題