Asp.net 使用WebMethod的jQueryAjax从前端删除零

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);

我有以下代码。jqueryajax调用webmethod。如果我传递zipcode“07306”,它将返回并将会话设置为“7306”。不知道为什么它会从前面去掉零

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 + '');