2012-04-02 15 views
3
ERROR: unknown web method DoIt Parameter name: methodName 

我想通過一個日期到VB.NET支持的數據庫查詢函數,但我遇到了網絡事物的問題。使用ajax/jquery的未知網絡方法

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 

我只是不完全知道怎麼回事錯誤或意味着什麼;/

+0

你能告訴我們更多關於您看到錯誤消息,究竟它說? – Kristian 2012-04-02 20:03:00

+0

真的只是一個500錯誤「未知的網絡方法DoIt參數名稱:methodName」 – 2012-04-02 20:07:07

+0

...並且你在javascript ajax響應中出現錯誤? – Kristian 2012-04-02 20:13:48

回答

1

可能值得檢查的一點是確保您的數據庫設置爲接收日期時間數據類型。

而且一些嘗試在Web服務聲明:

<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

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