2011-11-28 92 views
0

我得到了帶有cs類的asmx處理程序文件。500嘗試從jquery使用webmethod時發生內部服務器錯誤

當我輸入mysite/myService.asmx?op =測試好的頁面呈現,我可以調用我的web方法沒有任何問題,但是當我嘗試從javascript做到這一點,我可以看到在firebug 500錯誤作爲一個響應。我在web.method中的服務器端放置了斷點,但它甚至沒有被調用。

我做錯了什麼?

類聲明:

[System.Web.Script.Services.ScriptService]

公共部分類WebServiceDB:System.Web.Services.WebService {

Web.Method:

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public string Test() 
{ 
    return "test"; 
} 

JS:

$.ajax({ 
        url: "mysite/myService.asmx?op=Test", 
        type: "POST", 
        dataType: "json", 
        contentType: "application/json; charset=utf-8", 
        success: function (msg) { 
         alert("ok"); 
        }, 
        error: function (e) { 
         alert("error"); 
        } 
       }); 

感謝您的幫助

回答

1

當您在瀏覽器中輸入URL時,您正在執行GET請求。但是,您的$.ajax請求正在使用POST。鑑於缺乏其他背景,這將是我第一個懷疑問題出在哪裏。嘗試更改type: "POST"type: "GET"

+0

嘿。如果這是一個「方法不允許」的例外,我想這應該是一個405錯誤。 – devlord

相關問題