2012-08-02 31 views
1

我最近的任務是將Intranet系統從一臺舊服務器移動到一臺新服務器。它使用了很多YUI庫,以及我沒有經驗的javascript/json。當我嘗試加載其中一個頁面時(我無法將其鏈接到它,作爲其Intranet),我得到如下錯誤信息:(我曾嘗試打印出任何可幫助的變量或事情)我沒有構建系統中的JSON解析錯誤

e: SyntaxError: parseJSON 
o: [object Object] 
data: undefined 

此錯誤是由以下的try/catch長大。

var loadData = function(data) { 
    if(data) 
     data += '&offset=' + offset; 
    else 
     data = 'offset=' + offset; 

    var callback = { 
     success: function(o) { 
      try { 
       var data = YAHOO.lang.JSON.parse(o.responseText); 
      } catch(e) { alert('e: ' + e + '\no: ' + o + '\ndata: ' + data} 

我真的不知道是什麼JSON是什麼,但即時通訊假設它不是從什麼地方得到(右)數據是問題在這個網頁或其他地方?

編輯:我很欣賞這可能不足以滿足信息t排除故障,我不知道任何關於JSON/YUI,只是告訴我,如果你需要知道別的東西。

回答

2

您必須知道o.responseText是因爲oObject並不真正顯示問題中的JSON字符串是什麼。將警報更改爲:

alert('e: ' + e + '\no.responseText: ' + o.responseText + '\ndata: ' + data); 

可能有助於診斷問題。除非您解釋什麼是JSON字符串以及它來自哪裏,否則沒有人可以回答您問題是否在該頁面上。

+0

http://i.imgur.com/5ebfC.png – Andy 2012-08-02 10:38:05

+0

這是來自這些行的代碼:所以我假設有東西被張貼在那裏,但我不知道什麼... \t第7行:$ JSON = json_decode($ _ POST ['JSON']); \t \t第9行:if($ JSON-> Depot) \t \t $ filter =「AND'Site' ='」。 $ JSON->倉庫。 「'」; – Andy 2012-08-02 10:39:33

+1

這裏你去,問題是在dmrlist.php。嘗試使用PHP標記重新發布您的問題並引用PHP代碼,因爲它似乎是您的PHP代碼而不是JavaScript的問題。 – rsp 2012-08-02 10:42:27

1

看起來像o.responseText是無效的JSON - 你可以打印出你的調試嗎?

+0

http://i.imgur.com/5ebfC.png – Andy 2012-08-02 10:38:11

1

如果你能夠接觸到responseText,你可以通過一個像http://jsonlint.com這樣的JSON驗證器來運行它,它可以讓你瞭解錯誤的位置。