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