3

回避策を既に見つけましたが、なぜこれが発生するのかがわからないため、「回避策」なしで適切に修正できます

私は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) {
        }
    });
}

問題は、 を入力すると021214156tbValueWebService にステップスルーするときです。21214156alert($('#tbValue').val());021214156

成功しなかった:

データ: { 値: 新しい文字列($('#tbValue').val()) },
データ: { 値: $('#tbValue').val().toString() },


私が行った修正は変更されていました:

data: { value: $('#tbValue').val() },

に:

data: { value: ' " ' + $('#tbValue').val() + ' " ' },

文字列がパラメーターであっても、これが数値ではなく文字列であることをWebサービスに知らせるより良い方法はありますか?

4

1 に答える 1

1

気にしないで、それを考え出した..

だった

データ: JSON.stringify({ 値: $('#tbValue').val() }),

これは私のWebサービスが原因でした

ResponseFormat = ResponseFormat.Json
于 2012-09-25T14:22:40.847 に答える