我創建了一個支持AJAX的WCF服務來返回我創建的自定義類的List <>。我可以讓它返回數據,但我不知道如何訪問我的類的屬性值。如何從支持AJAX的WCF服務(ASP.Net)獲取返回對象屬性?
這裏是我的類:
[Serializable]
public class Favorite
{
public int Id { get; set; }
public string Title { get; set; }
public string Url { get; set; }
}
這裏是我的WCF服務:
[OperationContract]
public List<Favorite> GetFavorites()
{
MembershipUser thisUser = Membership.GetUser(HttpContext.Current.User.Identity.Name);
int userId = (int)thisUser.ProviderUserKey;
return GetFavorites(userId);
}
下面是該服務的配置:
<system.serviceModel>
<services>
<service name="MySvc">
<endpoint address="" behaviorConfiguration="MySvcEndpointBehavior"
binding="webHttpBinding"
contract="MySvc" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="MySvcEndpointBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
這裏是jQuery的腳本whe再我居然撥打服務:
$.ajax({
type: "POST",
url: "MySvc.svc/GetFavorites",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
var favs = result.d;
}
});
在我的javascript,我可以叫「favs.length」,它給我的結果正確的號碼。但是,如果我嘗試訪問「favs [0] .Title」,則會收到「未定義」的消息。誰能幫我?
您是否嘗試過使用調試器來查看內容? – 2012-01-13 22:12:37
是的,我用Chrome來瀏覽我的javascript,並且我可以在調試器中看到對象屬性及其值,但我不知道如何以編程方式訪問這些值。 – tjc59 2012-01-13 22:21:18
屬性的名稱是什麼?我的意思是,如果你能看到'favs [0]',並且你可以看到'favs [0]'具有'title'屬性,那麼當然可以使用'favs [0] .title'。 'var fav = favs [0];'然後看'fav'。 – 2012-01-13 22:23:01