我已经找到了一个解决方法,但不确定它为什么会导致这种情况,所以我可以在没有“解决方法”的情况下正确修复它
我有一个网络服务方法..
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
[WebMethod(EnableSession = true)]
public string Validate(string value)
{
}
我有一个调用这个方法的javascript方法..
function CheckABAValidation() {
$.ajax({
type: "GET",
url: '../Service/MyWebService.asmx/Validate',
data: { value: $('#tbValue').val() },
contentType: "application/json",
success: function (data) {
}
});
}
问题是,当我输入021214156
时tbValue
,当我进入 WebService.. 时,值是21214156
,但是如果我这样做alert($('#tbValue').val());
了,它会显示021214156
,所以看起来 Web 服务在进入 Web 服务之前看到了一个数字。
试过没有成功:
数据:{值:新字符串($('#tbValue').val())},
数据:{值:$('#tbValue').val().toString()},
我所做的修复正在改变:
data: { value: $('#tbValue').val() },
到:
data: { value: ' " ' + $('#tbValue').val() + ' " ' },
有没有更好的方法让 Web 服务知道这是一个字符串而不是数字,即使字符串是参数?