"消息":"无效的Web服务调用,缺少参数值:\ u0027

tua*_*t89 10 asp.net jquery

当我从jQuery向WebMethod发送2个参数并使用多个参数时,我收到此错误.

{"Message":"Invalid web service call, missing value for parameter: \u0027haha\u0027.","StackTrace":"   at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2 parameters)\r\n   at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)\r\n   at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)\r\n   at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
Run Code Online (Sandbox Code Playgroud)

在jQuery中:

$(".txtNoiDung").focusout(function () {
        $.ajax({
            type: "POST",
            url: "QuanLyTin.aspx/test1cai",
            data: JSON.stringify({ hahas: $(this).val(),tuans: "hahaha" }),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                $("#vltxtNoiDung").text(msg.d)
            },
            error: function (xhr, reason, ex) {
                alert(reason);
            }
        });
    });
Run Code Online (Sandbox Code Playgroud)

在代码背后

 [WebMethod()]
        public static string test1cai(string haha, string tuan)
        {
            return "Hi, "+haha + tuan;
        }
Run Code Online (Sandbox Code Playgroud)

我该如何解决?谢谢你们.

Dav*_*ard 32

您的服务是接受命名参数hahatuan,但你的JavaScript是传递hahastuans.从两者中删除"s":

data: JSON.stringify({ haha: $(this).val(),tuan: "hahaha" }),
Run Code Online (Sandbox Code Playgroud)

另外,请记住,这些参数在客户端和服务器端之间非常匹配,区分大小写.