Ajax 请求中的参数丢失了零

Parameters lost zeros in Ajax request

我用 Ajax 发送 WebMethod 的参数并接收 um 对象。但是,参数在 WebMethod 中丢失了 zeros,我发送“00001234”,在后端参数中是“1234”

Ajax代码:

 var content = {valueS: "00001234" };
 $.ajax({
            type: "GET",
            dataType: 'json',
            data: content,
            async: false,
            url: "myPage.aspx/GetData",
            contentType: "application/json; charset=utf-8",
            success: function (data) { OnSucess(data); },
            error:   function(data) { OnError(data); }
        });

网络方法代码:

    [WebMethod]
    [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json, XmlSerializeString = false)]
    public static string GetData(string valueS)
    {...}

尝试

 var content = {valueS: "'00001234'" };
 $.ajax({
            type: "GET",
            dataType: 'json',
            data: content,
            async: false,
            url: "myPage.aspx/GetData",
            contentType: "application/json; charset=utf-8",
            success: function (data) { OnSucess(data); },
            error:   function(data) { OnError(data); }
        });

似乎 valueS 首先被反序列化为一个数字,在这种情况下它将丢失其前导零。 您的代码生成的请求如下所示 myPage.aspx/GetData?valueS=00001234

而我的代码生成的代码看起来像这样 myPage.aspx/GetData?valueS=%2700001234%27,因此将被正确反序列化为字符串。