使用ajax / jquery的未知Web方法

时间:2012-04-02 19:57:16

标签: asp.net ajax vb.net jquery

ERROR: unknown web method DoIt Parameter name: methodName

我正在尝试将日期传递给由VB.NET提供支持的数据库查询功能,但是我遇到了网络问题。

var dat = $("#Date").val(); //textbox with a date    

$.ajax({
                    type: "POST",
                    url: "file.aspx/DoIt",
                    cache: false,
                    contentType: "application/json; charset=utf-8",
                    data: {param:dat},
                    dataType: "json",
                    success: function (data, status) {
                        var response = $.parseJSON(data.d);
                        alert(response.message);
                        alert(status);
                    },
                    error: function (xmlRequest) {
                        alert(xmlRequest.status + ' \n\r ' + xmlRequest.statusText + '\n\r' + xmlRequest.responseText);
                    }
                });     

file.aspx.vb文件:

(在文件的末尾)

<System.Web.Services.WebMethod()> _
Public Function DoIt(ByVal param As String) As String
    UpdateDB(param) 'function is above
End Function

我不完全确定什么是错误或意味着什么; /

2 个答案:

答案 0 :(得分:3)

结帐this answer。您可能需要将函数声明为Shared

<System.Web.Services.WebMethod()> _
Public Shared Function DoIt(ByVal param As String) As String
    UpdateDB(param) 'function is above
End Function

答案 1 :(得分:2)

可能值得检查的是确保您的数据库设置为接收datetime数据类型。

还可以在网络服务声明中尝试:

<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
<WebMethod()> _
Public Function DoIt(ByVal param As String) As String
    UpdateDB(param) 'function is above
End Function

参考:webservice - unknown web method parameter name methodname