Как получить свойства возвращаемого объекта из службы WCF с поддержкой AJAX (ASP.Net)? - PullRequest
0 голосов
/ 14 января 2012

Я создал службу WCF с поддержкой AJAX, чтобы возвращать список <> созданного мной пользовательского класса.Я могу заставить его возвращать данные, но не знаю, как получить доступ к значениям свойств моего класса.

Вот мой класс:

[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», я получаю сообщение «undefined».Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 14 января 2012

Просто используйте консоль.

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]);
    }
}

};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...