2012-03-13 52 views
0

這裏是我打電話的方法:阿賈克斯成功的方法處理複雜的數據

public Bear GetBear(int bearId) 
    { 
     MyEntities be = new MyEntities(); 
     Location bear = (from b in be.Bears 
         where b.id == bearId 
         select b).First(); 
     return bear; 
    } 

這是我如何稱呼它:

$.ajax({ url: "Bear/GetBear", data: { bearId: 2}, success: function (bear) { alert(bear.id) } }) 

但是,在警告對話框中的文本是未定義。當我用斷點移動GetBear時,返回的熊有HAS ID。我究竟做錯了什麼?

回答

0

在發回數據之前,不應該將數據轉換爲json/xml/text/dataType(http://api.jquery.com/jQuery.ajax)嗎?

+0

如果返回json,GetBear的類型會是什麼? – 2012-03-13 15:37:09

+0

我不認爲在這種情況下會改變任何東西,但是如果他使用contentType,它可能會改變。 – MilkyWayJoe 2012-03-13 15:38:31

1

您可以將您的$.ajax調用更改爲指定您的contentType爲JSON。 另外,看看這篇文章,它顯示了你正在尋找什麼。

http://encosia.com/using-jquery-to-consume-aspnet-json-web-services/

而且,請注意,在這篇文章中,他使用msg.d得到JSON。

+0

但GetBear不是服務方法。 – 2012-03-13 15:40:25

+0

只要可訪問,您就可以使用這些相同的設置。 – MilkyWayJoe 2012-03-13 15:45:00

+0

但是在鏈接上沒有方法定義。這是我需要看到如何返回Json。 – 2012-03-13 15:46:01