2009-10-16 96 views
0

我使用ASP(經典)實用程序文件從一個SQL數據庫中創建JSON對象,請參閱: http://code.google.com/p/aspjson/的Json「分析器錯誤」從服務器到客戶端

這裏是我從服務器端獲取:

{"results":[{"Opt_Name":"BARR","Opt_FirstName":"TomTest","Comp_Name":"My_Company"}]} 

哪個是有效的json,至少對jsonlint有效。

但這絕不會觸發我的回調函數(取),我從我的誤差函數(myFunc的)這兒得到一個ParserError:

$(document).ready(function() 
{ 
    function myfunc(XMLHttpRequest, textStatus, errorThrown) 
    { 
     alert("call failed " + textStatus + " error " + errorThrown + " Xhr " + XMLHttpRequest); 
    } 

    $.ajaxSetup({ 
     error:myfunc 
    }); 

    $.getJSON("jsonGETdataTest.asp", Fetch); 

    function Fetch(data) 
    { 
     alert("blop"); 
    } 
}); 

我不知道下一步該怎麼做!

如果任何人在這一個領先,我會非常gratefull。 感謝您的反擊。

+0

,使在取功能「數據」的警告,你看出來了[目的]? – 2009-10-16 16:25:57

回答

1

好吧, 感謝大家的幫助, 它看起來我終於找到了答案!

爲ASP經典

response.AddHeader "Content-type", "text/json" 

這就是我的回答的缺失的部分:-s

0

我不知道爲asp,但在PHP中正確的字符串將是'[{「Opt_Name」:「BARR」,「Opt_FirstName」:「TomTest」,「Comp_Name」:「My_Company」}]''。 在PHP中,我沒有「結果」之前。

+0

非常感謝Cesar,但是, 正如我前面所說的,json格式化是正確的, 我試過了你所建議的那個,但它仍然給出了「parsererror」。 因爲我會在YUI數據源我要堅持到格式化例子中使用它,他們給這裏: VAR dsLocalJSON =新YAHOO.util.LocalDataSource({ :3,總 :20, 結果: [name:「apple」,type:「fruit」,color:「red」}, {name:「broccoli」,type:「veg」,color:「green」}, {name:「cherries」,類型:「水果」,顏色:「紅」}] }); 請參閱: http://developer.yahoo.com/yui/datasource/ – Tom 2009-10-16 14:49:46

0

而不是

$.getJSON("jsonGETdataTest.asp", Fetch); 

    function Fetch(data) 
    { 
     alert("blop"); 
    } 

嘗試這樣的事:

$.getJSON("jsonGETdataTest.asp", function(data){ 
    ...do something with data object... 
    }); 

看到http://docs.jquery.com/GetJSON

+1

那有什麼不同? – 2009-10-16 14:53:44

+0

謝謝傑克, 但這兩種方式都是正確的, 我認爲它與javascript語法無關。 不知何故jQuery getJSON函數不喜歡它從服務器端獲得的內容,即使它是有效的json。 我已經搜索了很多關於這個「解析器錯誤」,但沒有任何相關的被發現到目前爲止。 – Tom 2009-10-16 14:56:17