Web服务修剪启动零

时间:2012-09-24 19:27:21

标签: jquery web-services http-get

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

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

[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服务之前会看到一个数字。

没有成功的尝试:

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


我做的修正正在改变:

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

致:

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

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

1 个答案:

答案 0 :(得分:1)

没关系,想通了......

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

这是由于我的网络服务已经

ResponseFormat = ResponseFormat.Json