我正在尝试使用jQuery传递" 0002"到WebMethod。但是前导零被截断:(
$.ajax({
type: "GET",
url: "CallNote.aspx/GetStoreRegion?storeCode=0002",
contentType: "application/json; charset=utf-8",
//dataType: "json", - Brad is right I don't need this line
success: function (response) {
console.log(response.d);
}
});
在CallNote.aspx.cs中:
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public static string GetStoreRegion(string storeCode)
{
// Problem: Here storeCode becomes "2", not "0002"
return myService.GetStoreRegion(storeCode);
}
你如何传递字符串" 0002"正确?
答案 0 :(得分:2)
因此,您告诉ASP.NET您将数据作为JSON传递。所以,ASP.NET相信你。那么,如果你说var x = {storeCode: 0002};
会发生什么。好吧,它会变成2
,因为你并没有用引号括起来。所以你需要为你的参数做同样的事情。如果你想要一个字符串,你可以:var x = {storeCode: '0002'};
所以在你的情况下你想要:
url: "CallNote.aspx/GetStoreRegion?storeCode='0002'",