2012-03-13 53 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