2016-12-28 108 views
0

下面AJAX調用不執行Web方法

<div class="btn btn-primary" id="btnSearch">Search</div> 

<script src="<% = Page.ResolveUrl("~/Scripts/jquery-latest.js") %>"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#btnSearch').click(function() { 
       $.ajax({ 
        method: 'POST', 
        url: 'MenuBackoffice.aspx/onSearch', 
        contentType: 'application/json; charset=utf-8', 
        dataType: 'json', 
        data: { }, 
        success: function (msg) { 

        } 
       }); 
      }); 
     }); 
    </script> 

    [WebMethod] 
    public static void onSearch() 
    { 

    } 

Simple代碼沒有達到我的WebMethod,我不知道什麼是錯的,有人可以添加一些光?

編輯:在調試,我發現了以下錯誤: ailed加載資源:服務器500(內部服務器錯誤)的狀態

+0

是jquery的loading? –

+0

也有你試圖把你的網址前面的一個? .. like:url:'/MenuBackoffice.aspx/onSearch', –

+0

這是一個服務器端錯誤(線索在「Internal * Server * Error」中):)啓用完整的錯誤顯示在您的服務器上以查看實際bug –

回答

1

我必須清理並生成解決方案,之後改爲錯誤「有人試圖調用方法‘onSearch’使用GET請求,這是不允許的。」

編輯:添加Nagaraj Raveendran解決方案 - 而不是使用GET的Ajax方法,而不必使用ScriptMethod。

+0

好。請改用Ajax方法使用GET,而不必使用ScriptMethod。 –

+0

這甚至更好。編輯。 –

0

添加以下代碼routeconfig迴應。

routes.IgnoreRoute("MenuBackoffice.aspx/onSearch"); 

如果這不起作用,URL可能是一個問題。嘗試更改網址:在Ajax調用。

'<%= ResolveUrl("MenuBackoffice.aspx/onSearch") %>' 
+0

仍然有同樣的錯誤,這讓我瘋狂! –

+0

建議您可以嘗試使其在答案中發揮作用。 –

+0

得到了同樣的錯誤: 未知的Web方法onSearch。 參數名稱:methodName –