回避策を既に見つけましたが、なぜこれが発生するのかがわからないため、「回避策」なしで適切に修正できます
私はWebサービスメソッドを持っています..
[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
成功しなかった:
データ: { 値: 新しい文字列($('#tbValue').val()) },
データ: { 値: $('#tbValue').val().toString() },
私が行った修正は変更されていました:
data: { value: $('#tbValue').val() },
に:
data: { value: ' " ' + $('#tbValue').val() + ' " ' },
文字列がパラメーターであっても、これが数値ではなく文字列であることをWebサービスに知らせるより良い方法はありますか?