繁体   English   中英

使用$ .ajax和C#的JSON格式

[英]JSON format using $.ajax and C#

如果我使用$ .ajax JQuery并调用WebMethod,则会得到JSON:

$.ajax({
    type: "POST",
    dataType: "json",
    data: JSON.stringify({ id: idX, id2: idY }),
    async: true,
    cache: false,
    url: "/ws/Courses.asmx/GetCourses",
    contentType: "application/json; charset=utf-8",
    success: function (data) {
        RenderCourses(data.d);
    },
});

但JSON具有“ d”属性。

function RenderCourses(data) {

    if (data.d.length > 0) {

如果我在C#中使用json = JsonConvert.SerializeObject ,则没有“ d”属性。

string script = "var data = " + json + "; RenderCourses(data);";
ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "dataVar", script, true);

RenderCourses失败了。

有什么原因吗?

ADO.NET WebMethods总是像这样序列化响应。 d表示“数据”。 而且您对此无能为力。

JsonConvert.SerializeObject是来自第三方软件( Newtonsoft )的方法。 它只是简单地将您的对象序列化为JSON。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM