1
我有一個IEnumerable集合的自定義數據類型,我正在發送給客戶端。 我想解析我的JQuery方法中的集合。目前我的價值爲「未定義」。下面是我的代碼:如何在JQuery中解析集合
服務:
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)]
IEnumerable<CustomData> GetSetting(long userId);
public IEnumerable<CustomData> GetSetting(long userId)
{
var tempData = Context.DialogSettings.Where(item => item.id == userId).ToList();
return tempData.Select(dialogSetting => new CustomData { KeyName = dialogSetting.KeyName, KeyValue = dialogSetting.KeyValue }).ToList();
}
[DataContract]
public class CustomData
{
[DataMember]
public String KeyName;
[DataMember]
public String KeyValue;
}
客戶:
function LoadSetting() {
$.ajax({
type: "GET",
url: "SampleService.svc/GetSetting",
data: '{"userId": "' + 1 + '"}',
processData: true,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var myHistoryList = data.d;
alert(myHistoryList); // here I'm getting value: undefined
},
error: function (result) {
alert('Service call failed: ' + result.status + '' + result.statusText);
}
});
}
});
你嘗試過'提醒(數據)'嗎? – georg 2012-01-29 10:34:36
除了thg435的說法,如果你正在發送一個集合/列表,你會不會期望'data'是一個對象數組?你的ajax成功回調中'data.length'也未定義? – nnnnnn 2012-01-29 10:49:42
爲什麼'data'有一個'd' var,如果它是一個列表??? – gdoron 2012-01-29 10:54:54