我有以下代码。 jquery Ajax调用webmethod。如果我通过邮编“07306”,它会返回并将会话设置为“7306”。不知道为什么它从前面消除零!Jquery AJAX与WebMethod从前面删除零
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();
}
有人可以请解释为什么它从前面删除零?
你为什么试图构建一个JSON字符串并将其传递给数据?只需传递一个对象并强制它成为一个字符串,例如'data:{newLocation:newzip +''}'。 –
使用firebug或chrome DEV工具来查看实际上发送到服务器的内容;如果它发送'07306',那么问题出在服务器端,我对ASP.NET没有线索,但至少你会知道问题出在哪里。 –
@El Yobo它不是服务器端的问题。 “{newLocation:'”+ newzip +“'}”解决了问题。 –