当前位置: 代码迷 >> JavaScript >> 什么是JSON.stringify()的返回数据类型,以及如何在服务器端获取数据?
  详细解决方案

什么是JSON.stringify()的返回数据类型,以及如何在服务器端获取数据?

热度:56   发布时间:2023-06-06 08:57:32.0

如果我们传递一个对象,什么是JsonStringfy()的返回数据类型?我应该在我的[WebMethod]中传递什么参数的数据类型,以便它可以获取从客户端页面返回的数据。

列出了两个功能。

1)Ajax功能

var em = {};


    em.EnableSSL = enableSsl;
    em.Mode = emailMode;
    em.MailHost = smtpHost;
    em.MailPort = mailPort;
    em.MailFrom = mailFrom;
    em.MailTo = mailTo;
    em.MailCc = mailCc;
    em.MailBcc = mailBcc;
    em.ExceptionMailTo = exceptionMailTo;
    em.ExceptionMailCc = exceptionMailCc;
    em.ExceptionMailBcc = exceptionMailBcc;

    $.ajax({
        type: "Post",
        url: "PageName/MethodName",
        data: '{em : "' + JSON.stringify(em) + '"}',
        contentType: "application/json; charset=utf-8",
        success: function (data) {

            var obj = JSON.parse(data.d);
            console.log(obj);




        },
        error: function (errorData) {
            console.log(errorData.status);
        }
    });

2)在ajax调用上执行的服务器端方法。

[WebMethod]
    public static string MethodName(//Datatype? em)
    {
        var emailSettings = em;
        {

        }
        var jsonSerializer = new JavaScriptSerializer();
        var jsonData = jsonSerializer.Serialize("Hi");
        return jsonData;
    }

我们已经成功地将类型设置为Dictionary。 所以:

[WebMethod]
public static string MethodName(Dictionary<string, object> em)

我的理解是,MS将使用您选择的类型进行实际的反序列化,因此其他类型也可以使用,但是这似乎是最佳选择。

  相关解决方案