在ajax调用中返回HTML字符串

时间:2014-03-21 07:37:27

标签: jquery html asp.net ajax

我正在进行ajax调用以返回HTML字符串,但它返回当前页面的完整HTML,我想只获取我在webmethod中创建的HTML 这是我的代码

$.ajax({
                type: "GET",
                url: 'MyPage.aspx/GetData',
                contentType: "application/json; charset=utf-8",
                dataType: 'html',
                success: function (data) {
                  $("#mydiv").find(".table tbody").append(data.toString());                 
                },
                error: function (data, errorThrown) {
                    alert(errorThrown);
                }
            });

Asp:

        [WebMethod]
        public static string GetData()
        {
            StringBuilder sb = new StringBuilder();
                                sb.Append("<tr>");
                    sb.Append("<td style='width: 125px' id='categ'>Testing</td>");
                    sb.Append("<td style='width: 80px'>" + DateTime.Now+ "</td>");
                    sb.Append("<td style='width: 80px'>Sample Product</td>");                    
                    sb.Append("</tr>");

            return sb.ToString();
      }

我也试过这个

 dataType: 'json',

但它给出了解析错误。 这是我的HTML

<div id="mydiv">
<table class="table">
    <thead>
        <tr>
            <th>
                 Category
            </th>
            <th>
                Date
            </th>
            <th>
                Product
            </th>

        </tr>
    </thead>
    <tbody>
    </tbody>
</table>

2 个答案:

答案 0 :(得分:0)

您必须使用您收到的数据作为.d。您需要data.d而不是data

success: function (data) 
{
     $("#mydiv").find(".table tbody").append(data.d));                 
},

答案 1 :(得分:0)

试试这个:

$("#mydiv").find(".table tbody").append(data));