【问题标题】:Parameters lost zeros in Ajax requestAjax 请求中的参数丢失零
【发布时间】:2017-04-06 05:42:34
【问题描述】:

我用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)
    {...}

【问题讨论】:

    标签: asp.net json ajax get webmethod


    【解决方案1】:

    试试

     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,因此将被正确反序列化为字符串。

    【讨论】:

      猜你喜欢
      • 2015-05-14
      • 2015-02-14
      • 2011-12-12
      • 2012-11-13
      • 2014-06-16
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多