为了账号安全,请及时绑定邮箱和手机立即绑定

JSON中的.d是什么意思?

/ 猿问

JSON中的.d是什么意思?

慕雪6442864 2019-11-15 13:21:19

我有一个从jQuery调用的.NET网络方法。该方法返回一些我在DIV元素中显示的HTML标记。


得到回应后,我会使用


$("#div").html(result.d);

我的问题是,.d做什么?我不喜欢使用我不完全理解的代码?使用Eval可以得到相同的结果吗?


查看完整描述

3 回答

?
大话西游666

您是指ADO.NET数据服务吗?


我记得曾听过有关JSON返回此内容的演示,并且我认为它只是一个包装,以确保有效载荷是一个JSON对象,而不是数组(返回多个实体的情况)。


为什么要专门“ d”?我想我记得他们说过“好,一定是某件事”。


查看完整回答
反对 回复 2019-11-15
?
守候你守候我

基于本教程:JSON Web服务和带有Visual Studio 2008的jQuery


Web方法返回以JSON格式序列化的产品。由于没有JSON类型,因此返回的值为StringJSON格式。


在客户端,ajax调用返回JSON。


结果看起来像 {d: 'returned-string-with-JSON-format'}


更确切地说是这样的: {d:'{"ID":123,"Name":"Surface Pro 2"}'}


请注意,这'returned-string-with-JSON-format'是不是JSON对象的字符串,因此您不能这样做result.d.ID。


相反,您需要使用JSON.parse(result.d)或将其转换为JSON对象eval(result.d)


最后,您真正想要的是执行以下操作:


result = JSON.parse(result.d)


查看完整回答
反对 回复 2019-11-15
?
达令说

此处的ASPX代码:


<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">

    <script type="text/javascript">



        function GetData()

        {

            alert("I am called");

                $.ajax({

                    type: "POST",

                    url: "Contact.aspx/GetProducts",

                    data: "{}",

                    contentType: "application/json; charset=utf-8",

                    dataType: "json",

                    success: function (result) {



                       var data = JSON.parse(result.d)

                       alert(data.Id);


                    },

                    error:function(ex)

                    {

                        alert("Test");

                    }

                });

        }

    </script>


     <asp:TextBox ID="txtName" runat="server"></asp:TextBox>


    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="GetData();" />

</asp:Content>

C#代码在这里:


public partial class Contact : Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                BindList();

            }

            int[] arr1 = new int[] { 1, 2 };

            ListBox1.SelectedValue = "1";

            ListBox1.SelectedValue = "4";



        }


        void BindList()

        {


            List<Product> lst = new List<Product>()

            {

                new Product{Id=1,Name="Photo"},

                new Product{Id=2,Name="Photo"},

                new Product{Id=3,Name="Photo"},

                new Product{Id=4,Name="Photo"}

            };

            ListBox1.DataSource = lst;

            ListBox1.DataTextField = "Name";

            ListBox1.DataValueField = "Id";

            ListBox1.DataBind();

        }



        [WebMethod]

        public static string GetProducts()

        {

            // instantiate a serializer

            JavaScriptSerializer TheSerializer = new JavaScriptSerializer();


            //optional: you can create your own custom converter

           // TheSerializer.RegisterConverters(new JavaScriptConverter[] { new MyCustomJson() });


            //var products = context.GetProducts().ToList();

            Product products = new Product() { Id = 1, Name = "Testing Services" };

            var TheJson = TheSerializer.Serialize(products);


            return TheJson;

        }


    }


查看完整回答
反对 回复 2019-11-15

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信