帮助我试图解析从我的webservice返回的Json字符串

时间:2011-08-08 19:06:47

标签: javascript jquery ajax

即使在应用了scriptservice属性并将ResponseFormat属性设置为Json之后,我也不确定我是获取JQuery还是仅仅是一个字符串。

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public ArrayList GetRoles()
{
      ArrayList arr = new ArrayList();
      arr.Add("manager");
      arr.Add("Project manager");
      arr.Add("Super Admin");
      arr.Add("Admin");
      arr.Add("Customer Rep");
      arr.Add("Sales Rep");
      arr.Add("Help Desk");
      arr.Add("Supervisor");
      arr.Add("Client");
    return arr;
}

我在前端获得的内容(当我使用弹出窗口查看时)是一个由逗号分隔的所有值的字符串。下面的代码似乎无法在下拉列表中显示列表。任何帮助将不胜感激。

 $.each(msg.d, function (i, item) {

                          if (item) {
                                alert(i);
                                alert(item);
                                $("<%= SelectRole.ClientID %>").append($("<option></option>").attr("value", i).text(item));
                          }
                    });

1 个答案:

答案 0 :(得分:0)

由于用逗号分隔的连接字符串,您可以尝试使用

$.each(msg.split(","), function (i, item) {
    $("#<%= SelectRole.ClientID %>")
    .append($("<option></option>")
    .attr("value", "-1")
    .text("select role"));

    if (item) {
      alert(item);

      $("#<%= SelectRole.ClientID %>")
      .append($("<option></option>")
      .attr("value",i)
      .text(item));
    }
});