我创建了一个支持AJAX的WCF服务来返回List<>我创建的自定义类。我可以让它返回数据,但我不知道如何访问我的类的属性值。
这是我的班级:
[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脚本:
$.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”,我会收到“未定义”的消息。任何人都可以帮助我吗?
答案 0 :(得分:1)
只需使用控制台。
success: function (result) {
// log
console.log(result);
// dir
console.dir(result);
// iterating through an object's properties in JS
for(var i = 0; i < favs.length; i++){
for(property in favs[i]){
console.log(property + ": " + favs[i][property]);
}
}
};