使用c#中的Jquery Ajax从WebMethod检索数据

时间:2014-04-29 11:47:29

标签: c# javascript jquery ajax

我有jquery变量,其中包含以下值..

var data = [['Vikas', 75], ['Sumit', 55], ['Rakesh', 96], ['Shivam', 123], ['Kapil', 34], ['Rana', 104]];

现在根据我的要求,我需要服务器端代码中的那些值,为此我已经在c#中编写了一个web方法。

[WebMethod()]
public List<string> getData()
{
    List<string> dbdata = new List<string>();

    dbdata.Add("Vikas,200");
    dbdata.Add("Sumit,120");
    dbdata.Add("Rakesh,200");
    dbdata.Add("Shivam,500");
    dbdata.Add("Kapil,234");
    dbdata.Add("Rana,104");

    return dbdata;
}

但这不是本地数据中正确的数据格式。

这是我的jquery ajax请求..

               $("#getdata").on("click", function (e) {
                e.preventDefault();

                $.ajax({
                    type: "POST",
                    url: "WebService2.asmx/getData",
                    dataType: "json",
                    success: function (dbdata) {
                        //data = JSON.parse(dbdata);
                        data = dbdata;
                        alert(data);
                    }
                });
            });

我的webMethod回复..

<?xml version="1.0" encoding="utf-8"?>
<anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d1p1:type="q1:string"   xmlns:d1p1="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">["LOCAL,200","STD,120","ISD,200","VOIP,500","INCOMING,234","INET,104"]</anyType>

1 个答案:

答案 0 :(得分:0)

如果您需要从getData方法返回json对象,那么我建议使用Json.NET库并修改方法以返回object

[WebMethod()]
public object getData()
{
   List<string> dbdata = new List<string>();

   dbdata.Add("Vikas,200");
   dbdata.Add("Sumit,120");
   dbdata.Add("Rakesh,200");
   dbdata.Add("Shivam,500");
   dbdata.Add("Kapil,234");
   dbdata.Add("Rana,104");

   return JsonConvert.SerializeObject(dbdata);
}