WCF jQuery从服务器接收列表数据

时间:2013-03-26 07:31:02

标签: jquery asp.net ajax wcf

我正在尝试使用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列表中的第一个元素吗?它不起作用(错误的是什么?谢谢!对不起我的英语,我知道它真的很糟糕(

1 个答案:

答案 0 :(得分:0)

就这样做,

 success: function (data) {
  $.each(data.d, function(i, item) {
         alert(item);
   });
 }