2010-08-04 142 views
1

任何人都可以幫助我進行下面的查詢。 我正在從java腳本進行ajax web服務調用,web方法返回自定義objet,將對象序列化爲JSON格式由Ajax體系結構照顧,我沒有做任何明確的序列化。大多數時候我正確地得到響應,如下所示,這將得到反序列化並分配給我的ajax回調函數中的變量,這工作正常。 假設將響應保存爲「結果」的變量,我可以作爲result._type,result.Action訪問數據。來自Ajax服務的JSON響應

{"__type":"Thomson.Financial.RTThomlets.Ajax.State.AjaxCallResult","Action":"Initialize"} 

如果我關閉所有瀏覽器和清除緩存和重新打開應用程序的相同方法返回響應如下

{"d":{"__type":"Thomson.Financial.ThinQuotes.Ajax.State.AjaxCallResult","Action":"Initialize"}} 

附加目的d被自動創建的,其結果是d被分配到回調中的變量,所以當我嘗試訪問數據result._type時,我得到錯誤,因爲這是現在在d對象下。

任何人都可以解釋這裏出了什麼問題。

Registers Chandra。

+0

服務器端可能存在一些問題。你能發佈網絡服務代碼嗎? – 2010-08-04 14:25:59

回答

1

通常在你的回調(你使用jQuery)的第一行會是這樣的:

function successCallback(result){ 
    result = result.d; 
    //and now you're good to go 
} 

這應該幫助你使用它,但是,是的,是上面給出的實際回答你的問題。