jqueryがasp.netでどのように機能するかを理解しようとしています。wcfサービス関数の応答で独自のクラスを使用したい場合、それから答えを得ることができません...だから、私は何をしていますか
Wcf サービス:
[ServiceContract(SessionMode = SessionMode.NotAllowed)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single, InstanceContextMode = InstanceContextMode.PerCall)]
public class Service2
{
[DataContract]
public class Message
{
[DataMember]
public string MessageBody
{
get;
set;
}
[DataMember]
public string Sender
{
get;
set;
}
}
static List<Message> list = new List<Message>();
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)]
public List<Message> newone(string a, string b)
{
list.Add(new Message {MessageBody = a, Sender= b});
return list;
}
}
そして、jqueryからこの関数から答えを取得してみてください
function hi() {
$.ajax({
async: true,
url: '/Service2.svc/newone',
data: 'a= ' + $('#my1').val() + '&b= ' + $('#my2').val(),
type: 'GET',
dataType: 'json',
success: function (data) {
var str = '';
str += data.MessageBody[0];//To take first message from list
$("#msgs").html(str);
},
error: function() {alert('error');}
});
}
動作しません... サーバーから MessageBody と Sender を取得するにはどうすればよいですか? リストの最初の要素を2番目などに取得するにはどうすればよいですか? ご回答ありがとうございます!