2013-04-01 65 views
2

我试图通过ajax获取序列化的json列表并在html jquery移动页面中创建动态表。该列表来自代码后面的sql数据库。 我只是不知道我是否正确回应json对象,以及如何从ajax成功函数访问它。从json序列化列表对象构建动态表

我的目标是动态创建html中所有成员的表格。

我创建了一个会员类:

public class Member 
{ 
    public Member() 
    { 
     // 
     // TODO: Add constructor logic here 
     // 
    } 

    public String fName { set; get; } 

    public String lName { set; get; } 



} 

这是我的功能,在后面的代码返回成员列表: (写在与SQL连接类)

public List<Member> return_member_list() 
    { 
     List<Member> member_list = new List<Member>(); 

     String fName; 
     String lName; 


     SqlConnection user_con = connect("ActConString"); 
     SqlCommand user_command = create_command(user_con, "select m_first_name, m_last_name from member"); 

     SqlDataReader rdr = user_command.ExecuteReader(); 


     while (rdr.Read()) 
     { 
      Member m1 = new Member(); 
      fName = Convert.ToString(rdr["m_first_name"]); 
      lName = rdr["m_last_name"].ToString(); 


      m1.fName = fName; 
      m1.lName = lName; 



      member_list.Add(m1); 


     } 

     rdr.Close(); 
     user_con.Close(); 

     return member_list; 
    } 

然后我使用一个aspx页web方法返回序列化列表:

[WebMethod] 
    public static String return_member_list() 
    { 
     dbservices db1 = new dbservices(); 

     List<Member> member_list = db1.return_member_list(); 

     var jsonSerialiser = new JavaScriptSerializer(); 

     var json = jsonSerialiser.Serialize(member_list); 

     return json; 
    } 

和AJAX:

$(document).ready(function() { 



      $.ajax({ 
       type: "POST", 
       url: "getdata.aspx/return_member_list", 
       data: "{}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 

       success: function (res) { 

        //this is where I need help 


       }, 
       error: function (res, msg, code) { 
        // log the error to the console 
        alert("The following error occured: " + msg + " " + code); 
       } //error 

      }); 

     }); 

我会帮助并欣赏与创建表的动态,以及:)

+0

你能给我你的JSON响应吗? –

+0

[{\“fName \”:\“ליבי\”,\“lName \”:\“פנינ\”},{\“fName \”:\“אפרת\”,\“lName \”:\“אוחנה \ “},{\” FNAME \ “:\” דביר\”,\ “L-NAME \”:\ “ריזנמן\”},{\ “FNAME \”:\ “ודים\”,\ “L-NAME \”:\ “ודימוביץ\”},{\“fName \”:\“לינור\”,\“lName \”:\“אבני\”}]“在希伯来语中有名称,所以只需将它称为名称:] – Dvirski

回答

3

你需要做的成功的功能如下

success: function (res) { 
    var parsedData = JSON.parse(res.d); 
    var tableStr = "<table>"; 
    $.each(parsedData, function(){ 
     tableStr +="<tr><td>"+this.fName+"</td><td>"+this.lName+"</td></tr>"; 
    }); 
    tableStr += "</table>"; 
    $('#tableDiv').html(tableStr); 
} 

假设你有一个ID tableDiv

+1

谢谢!效果很好 – Dvirski