2011-08-17 79 views
0

新的JavaScript和思想我會嘗試從數據庫中檢索一些信息(並最終繪製它,我希望!)。getJSON導致XML解析錯誤?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
     <title>Flot Examples</title> 
     <link href="layout.css" rel="stylesheet" type="text/css"> 
     <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]--> 
     <script language="javascript" type="text/javascript" src="../jquery.js"></script> 
     <script language="javascript" type="text/javascript" src="../jquery.flot.js"></script> 
    </head> 
     <body> 
     <h1>Test Javascript:</h1> 


    <script type="text/javascript"> 
    $(function() { 
     $.get("http://localhost:8000/activity?starttime=13129788041&endtime=0&hostid=1", function(data) { 
      $.each(data, function(i,item){ 
       document.write(i); 
      }); 
     }); 
    }); 
    </script> 

    </body> 
    </html> 

行的 「http://本地主機:8000 /活動開始時間= 13129788041 &結束時間= 0 &主機ID = 1?」 返回我要找的,如果我在瀏覽器窗口中鍵入:

{「1.313496422E9」:[0.21000000000003638,448,12754,1.868579977195076]}

但是在javascript中不起作用。

如果我期待同是HttpFox有錯誤

應用程序/ XML(NS_ERROR_DOM_BAD_URI)

但如果我是HttpFox查看「內容」選項卡其實我可以看到數據下我需要,但有一個XML解析錯誤。

<?xml-stylesheet 
    href="chrome://global/locale/intl.css" type="text/css" 
    ?> 
    <parsererror> 
    XML Parsing Error: not well-formed Location: chrome://browser/content/browser.xul Line Number 1, Column 1: 
    <sourcetext> 
    {"1.313496422E9":[0.21000000000003638,448,12754,1.868579977195076]}^
    </sourcetext> 
    </parsererror> 

的NS_ERROR_DOM_BAD_URI似乎是關於跨域問題,但我實際的服務器上本地工作,所以我應該能夠訪問數據?還有,爲什麼當我看到我想要的httpfox的「內容」選項卡中的確切數據時,出現XML解析錯誤?

我可能在做一些可怕的業餘愛好者,但任何幫助/想法/虐待都會受到歡迎!

乾杯,

Rob。

+0

這聽起來像你的服務器端腳本返回JSON數據與'內容類型:應用程序/ xml'頭出於某種原因。它不應該那樣做。 '應用程序/ json'不太可能將AJAX庫取出。 – bobince

+0

我終於設法改變服務器端的腳本,現在它正在返回Content-Type:application/json,並且我可以在httpfox上的內容選項卡中看到我的JSON數據,沒有任何錯誤。但是,即使我在使用「localhost」或「127.0.0.1」的實際服務器本身上,仍然收到NS_ERROR_DOM_BAD_URI錯誤。 – RobQ

回答

1

您的json格式不正確來自服務器或....您實際上沒有使用jQuery.getJSON函數。如果您想使用jQuery.get,則需要將json數據類型指定爲最後一個參數。

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

$.get("http://localhost:8000/activity?starttime=13129788041&endtime=0&hostid=1", function(data) { 
      $.each(data, function(i,item){ 
       document.write(i); 
      }); 
     }, 'json'); 
+0

嗨Trevor,在結尾添加'json'或者甚至在調用中使用getJSON都會產生相同的錯誤和情況:-O – RobQ

+0

也在jsonlint.com上檢查了我的json,它說它沒問題..... – RobQ