1

我正在尝试使用 jQuery + Ajax + WCF ......你能帮我吗?如果我在 WCF 中使用单个数据响应是可以的,但是当我尝试发送一个列表或大量作为来自 WCF 的响应时,它看起来是错误的。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;

namespace longpollingexample
{
    [ServiceContract(SessionMode = SessionMode.NotAllowed)]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single, InstanceContextMode = InstanceContextMode.PerCall)]
    public class Service2
    {          
        static List<int> ff = new List<int>();

        [OperationContract]
        [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)]
        public List<int> hi(int a, int f)
        {
            ff.Add(a*f);
            return ff;
        }
    }
}

这是 WCF 服务,我们只有一个功能并尝试获取列表的答案。列表是静态的。如何从该列表中获取任何元素?我尝试做什么...

  function hi2() {
        var t = 0;
        $.ajax({
            async: true,
            url: '/Service2.svc/hi',
            data: 'a= ' + $('#my1').val() + '&f=' + $('#my2').val(),
            type: 'GET',
            dataType: 'json',
            success: function (data) {
                var str='';
                str += data[0].d;
                $("#msgs").html(aa);
            },
            error: function () { alert('pop the champagne'); }
        });
    }  

我可以得到data[0].d- 我的 ff 列表中的第一个元素吗?它不起作用(怎么了?谢谢!对不起我的英语,我知道这真的很糟糕(

4

1 回答 1

0

就这样做,

 success: function (data) {
  $.each(data.d, function(i, item) {
         alert(item);
   });
 }
于 2013-03-26T07:35:26.277 回答