读取字符串表jquery ajax成功函数

时间:2013-09-04 12:22:50

标签: c# jquery ajax

代码:

[WebMethod]
public static string [] GetMorechatMsgs(int toclient, int fromclient, int top)
{

   string [] List =new string[2];
    int chatcount = new ChatPage().GetAllMsgCount(toclient, fromclient);
    if (top <= chatcount)
    {
        string toreturn=new ChatPage().GetChat(fromclient, toclient, "", top);
       List[0]= toreturn;
       List[1] = chatcount.ToString();

    }
    else {
        List = null;
    }
    return List;
}

HTML:

 $.ajax({
                type: "POST",
                url: "ChatPage.aspx/GetMorechatMsgs",
                data: "{'toclient':'" + ToClient + "','fromclient': '" + fromClient + "','top': '" + $("#MsgCount").val() + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {

                    if (data.d != "") {

                       // how to read the returned table 
                    }
                    else {

                    }
                },
                error: function (xhr) {
                    alert("responseText: " + xhr.responseText);
                }

            });

如何在成功时读取返回的字符串数组?

2 个答案:

答案 0 :(得分:1)

序列化你的字符串列表,即

将您的方法更改为:

[WebMethod]
public static string  GetMorechatMsgs(int toclient, int fromclient, int top)
{
  /// your usual code

  return new JavaScriptSerializer().Serialze(list);
}

并读取返回的数据:

success: function (data) {
     var jsonData =$.parseJSON(data.d);

     for(var i=0; i<jsonData.length; i++){
          console.log(jsonData[i]);
     }
}

答案 1 :(得分:0)

WebMethod将以["string", "string", "string", ...]的形式返回您的字符串数组,因此,只需以Manish演示的方式循环遍历数组:

success: function (data) {
   var jsonData =$.parseJSON(data.d);
   for(var i=0; i<jsonData.length; i++){
       var theString = jsonData[i];
       //Do something with the string
 }

}