Javascript 如何将json数据显示为html<;ul>&书信电报;李></李></ul>;在asp.net中使用jquery标记

Javascript 如何将json数据显示为html<;ul>&书信电报;李></李></ul>;在asp.net中使用jquery标记,javascript,jquery,html,css,json,Javascript,Jquery,Html,Css,Json,我正在开发asp.net应用程序,尝试从数据库中获取JSON格式的数据,并使用jquery将JSON数据显示到html ul li标记中。我的Html页面是: <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> <script src="http://code.jquery.com/jquery-1.

我正在开发asp.net应用程序,尝试从数据库中获取JSON格式的数据,并使用jquery将JSON数据显示到html ul li标记中。我的Html页面是:

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script language="javascript" type="text/javascript">
    //function GetCompanies() {
    $(document).ready(function () {

       $.ajax({
    type: "POST",
    url: "MobileServices.asmx/BindCategory",
    data: "{}",
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    async: true,
    success: OnSuccess,
    error: OnError
});

function OnSuccess(data) {
    $.each(data, function (key, value{
        $("#ulCategory").append("<li><a rel=external href=Category_News.html?ID=" + value.Category_ID + ">" + value.Category_Name + "</li>");
    })

}
function OnError(data) {

}
    });
</script>
</head>
<body>
<form id="form1" runat="server">
    <div>
        <ul id="ulCategory">

        </ul>
    </div>
</form>
</body>
</html>

//职能(公司){
$(文档).ready(函数(){
$.ajax({
类型:“POST”,
url:“MobileServices.asmx/BindCategory”,
数据:“{}”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
async:true,
成功:一旦成功,
错误:OnError
});
函数OnSuccess(数据){
$。每个(数据、函数(键、值{
$(“#ulCategory”)。追加(“
  • ”+value.Category_Name+”
  • ”); }) } 函数OnError(数据){ } });
    我访问数据的Web服务是:

    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using Newtonsoft.Json;
    using System.Configuration;
    namespace MobileNewsAppication
    {
    /// <summary>
    /// Summary description for MobileServices
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    
    
        [System.Web.Script.Services.ScriptService]
        public class MobileServices : System.Web.Services.WebService
        {
    
            public class NewsCategory
            {
                public long Category_ID { get; set; }
                public string Category_Name { get; set; }
                public string QFlag { get; set; }
            }
    
    
    
            [WebMethod]
            public string BindAllCategory()
            {
                DataTable dt = new DataTable();
                //List<NewsCategory> details = new List<NewsCategory>();
    
                using (SqlConnection con = new SqlConnection(Connection))
                {
                    SqlCommand cmd = new SqlCommand("AllCategory_Select", con);
                    cmd.CommandType = CommandType.StoredProcedure;
    
                    con.Open();
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dt);
                    return JsonConvert.SerializeObject(dt);
    
                }
    
            }
        }
        }
    
    使用系统;
    使用System.Collections.Generic;
    使用系统数据;
    使用System.Data.SqlClient;
    使用System.Linq;
    使用System.Web;
    使用System.Web.Services;
    使用Newtonsoft.Json;
    使用系统配置;
    名称空间移动应用
    {
    /// 
    ///移动服务概述
    /// 
    [WebService(命名空间=”http://tempuri.org/")]
    [WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService]
    公共类移动服务:System.Web.Services.WebService
    {
    公共类新闻类别
    {
    公共长类别_ID{get;set;}
    公共字符串类别\u名称{get;set;}
    公共字符串QFlag{get;set;}
    }
    [网络方法]
    公共字符串BindAllCategory()
    {
    DataTable dt=新的DataTable();
    //列表详细信息=新列表();
    使用(SqlConnection con=新的SqlConnection(Connection))
    {
    SqlCommand cmd=新的SqlCommand(“所有类别选择”,con);
    cmd.CommandType=CommandType.storedProcess;
    con.Open();
    SqlDataAdapter da=新的SqlDataAdapter(cmd);
    da.填充(dt);
    返回JsonConvert.SerializeObject(dt);
    }
    }
    }
    }
    

    但是ul标记没有绑定其中的任何列表项。我认为jquery OnSuccess方法中定义的foreach循环可能是错误的。请帮助我。

    如果这不是输入错误,则是语法错误导致成功回调失败

    function OnSuccess(data) {
    //  $.each(data, function (key, value{ <- this is wrong
        $.each(data, function() {
            $("#ulCategory").append("<li><a rel='external' href='Category_News.html?ID=" + this.Category_ID + "'>" + this.Category_Name + "</li>");
        });
    }
    
    成功时的函数(数据){
    //$.each(数据,函数,键,值{确切地说,你想迭代JSON数据吗?在它里面吗?我想在ul标记中显示数据我已经稍微修改了答案。试试看,让我们知道你是怎么做的。它不正确。在ul标记中,它显示“未定义”而不是“类别名称”只有一次,但我的数据返回了8行。您是否尝试像我建议的那样在其中放置
    控制台.log
    ?请告诉我outputObject{d:“[{”Category\u ID::1,“Category\u Name:”मुख्य खबर“},{”C…बम },{“类别ID”:12,“类别名称”:विशेष}]}d:[{“类别ID”:1,“类别名称”:मुख्य खबर},{“类别ID”:2,“类别名称”:देश विदेश},{“类别ID”:3,“类别名称”:छत्तीसगढ},{“类别ID”:5,“类别名称”:सम्पादकीय},{“类别ID”:6,“类别名称”:पोल खाता},{“类别ID”:7,“类别名称”:ज्ञान रंजन},{“类别ID”:11,“类别名称”:पत्रबम },{“类别ID”:12,“类别名称”:विशेष“}]”该数据没有意义。它不是有效的json字符串。请尝试自己检查它。在获得有效的json之前,您无法对其执行任何操作。