Asp.net 使用WebMethod的jQueryAjax从前端删除零
我有以下代码。jqueryajax调用webmethod。如果我传递zipcode“07306”,它将返回并将会话设置为“7306”。不知道为什么它会从前面去掉零Asp.net 使用WebMethod的jQueryAjax从前端删除零,asp.net,jquery,webmethod,Asp.net,Jquery,Webmethod,我有以下代码。jqueryajax调用webmethod。如果我传递zipcode“07306”,它将返回并将会话设置为“7306”。不知道为什么它会从前面去掉零 function onChangeLocation(){ var newzip =$('#<%= txtNewLocation.ClientID %>').val(); $('#<%= lblDefaultLocation.ClientID %>').html(newzip);
function onChangeLocation(){
var newzip =$('#<%= txtNewLocation.ClientID %>').val();
$('#<%= lblDefaultLocation.ClientID %>').html(newzip);
$.ajax({
type: "POST",
url: "/WebMethods.aspx/ChangeLocation",
data: "{newLocation:" + newzip + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert(msg.d);
}
});
}
[System.Web.Services.WebMethod()]
public static String ChangeLocation(String newLocation)
{
HttpContext.Current.Session["ClientZipCode"] = newLocation.ToString();
return newLocation.ToString();
}
函数onChangeLocation(){
var newzip=$('#').val();
$('#').html(newzip);
$.ajax({
类型:“POST”,
url:“/WebMethods.aspx/ChangeLocation”,
数据:{newLocation:+newzip+“}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
警报(msg.d);
}
});
}
[System.Web.Services.WebMethod()]
公共静态字符串更改位置(字符串新位置)
{
HttpContext.Current.Session[“ClientZipCode”]=newLocation.ToString();
返回newLocation.ToString();
}
有人能解释一下为什么它从前面去掉零吗?问题是JS认为它是一个整数
$('#<%= lblDefaultLocation.ClientID %>').html(newzip);
$('#').html(newzip);
到
$('#').html(newzip+'');
应该会修复它。它不会改变任何东西;
newzip
值在发布到服务器时按原样使用,不再从DOM中检索。但本质问题是正确的;在某些地方,它被视为一个整数,因此删除了前导零。很好的一点是,您是否尝试过“{newLocation:”“+newzip+”}”
?为什么要尝试构建JSON字符串并将其传递给数据?只需向它传递一个对象并强制它成为一个字符串,例如,数据:{newLocation:newzip+'''}
;如果它发送的是07306
,那么问题出在服务器端,我对ASP.NET一无所知,但至少你会知道问题出在哪里。@El Yobo好吧,这不是服务器端的问题。“{newLocation:'”+newzip+“}”解决了问题。
$('#<%= lblDefaultLocation.ClientID %>').html(newzip + '');