다음 코드가 있습니다. Jquery Ajax는 webmethod를 호출합니다. 우편 번호 "07306"을 전달하면 세션이 "7306"으로 설정됩니다. 정면에서 제로를 제거하는 이유는 모르겠다!WebMethod가있는 Jquery AJAX는 앞에서 0을 제거합니다.
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 + "'}"문제가 해결되었습니다. –