Webmethod возвращает массив объектов - что-то вроде этого
{"d":
[[{"Amount":100,"Name":"StackOverflow"},
{"Amount":200,"Name":"Badges"},
{"Amount":300,"Name":"Questions"}]]}
На стороне клиента, когда на JSON ссылаются с помощью msg.d, я получаю
msg.d is undefined
ошибка. Я использую jQuery JavaScript Library v1.4.2
Как получить доступ к элементам в массиве объектов?
Добавление дополнительных выводов, кода и вопросов:
- Я не вижу __type в возвращаемом объекте JSON. Означает ли это, что объект, отправленный с сервера, не отформатирован в формате JSON?
- Когда __type не является частью ответа, я не смогу использовать msg.d? (msg.d не определено)
Еще немного:
1. Я могу получить доступ к элементам со стороны клиента, используя
msg [0] [0] .Amount - Как конкретно отформатировать JSON мой возвращаемый объект (с сервера)
код
Звоните на методы Page
PageMethods.BuildParticipantAsync($get('<%=hdn_AjaxControls.ClientID %>').value, fOnSuccess, fOnFailure);
function onSuccess(msg)
{
alert(msg.d); //This is undefined
}
Web Method
public static object[] BuildParticipantAsync(string lstSAjaxControls)
{
...//do stuff
return new object[] { ArrayOfObject };
}