3

我已经找到了一个解决方法,但不确定它为什么会导致这种情况,所以我可以在没有“解决方法”的情况下正确修复它

我有一个网络服务方法..

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

问题是,当我输入021214156tbValue,当我进入 WebService.. 时,值是21214156,但是如果我这样做alert($('#tbValue').val());了,它会显示021214156,所以看起来 Web 服务在进入 Web 服务之前看到了一个数字。

试过没有成功:

数据:{值:新字符串($('#tbValue').val())},
数据:{值:$('#tbValue').val().toString()},


我所做的修复正在改变:

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

到:

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

有没有更好的方法让 Web 服务知道这是一个字符串而不是数字,即使字符串是参数?

4

1 回答 1

1

没关系,想通了。。

曾是

数据:JSON.stringify({ value: $('#tbValue').val() }),

这是由于我的网络服务有

ResponseFormat = ResponseFormat.Json
于 2012-09-25T14:22:40.847 回答