0

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番目などに取得するにはどうすればよいですか? ご回答ありがとうございます!

4

1 に答える 1

0

だから、私は自分の質問に対する答えを得られず、自分でそれを見つけることはできません.リストからメッセージを取得したい場合は、 data.d[i].MessageBody を実行する必要があります。

于 2013-03-26T18:08:47.980 に答える