2014-11-21 83 views
1

我在向Web服務發出AJAX請求時遇到問題。在ASP.NET中通過AJAX從Web服務獲取對象時發生500錯誤

我正在嘗試連接到Web服務並獲取一個對象來填充HTML表單及其數據進行編輯。

Ajax代碼:

$.ajax({ 
    type: "GET", 
    url: "WebService.asmx/UpdateNewGroup", 
    data: "{ id : '7'}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (data) { 
     var myData = JSON.parse(data.d); // data.d is a JSON formatted string, to turn it into a JSON object 
     alert("s"); 
    } 
}); 

和Web服務:

[WebMethod] 
public MeGroup UpdateNewGroup(String id) 
{ 
    MeGroup group = new MeGroup(); 
    return group; 
} 

這是我的錯誤,當我發送一個請求:

500 (Internal Server Error) 

的路徑Web服務是正確的,並且我在服務的web.config中啓用了POST和GET請求。

我可能會錯過什麼?

編輯:

以下是錯誤信息,我發現基於J0e3gan的評論:

只有在類定義[ScriptService]屬性的Web服務可以從腳本中調用。

+2

當你得到'500(內部服務器錯誤)'很清楚建議問題在服務器端。 – Satpal 2014-11-21 08:00:59

+0

好吧,我知道但我該怎麼辦? – 2014-11-21 08:05:08

+0

如果您運行服務的調試版本,在Web方法中設置斷點並將調試器附加到它,您會看到什麼?您應該能夠獲得潛在異常的完整堆棧跟蹤。或者,您可能能夠在服務器的Windows應用程序事件日誌中找到500錯誤的詳細信息。無論如何,我們需要更多關於底層服務器錯誤的信息來幫助您。 – J0e3gan 2014-11-21 08:07:12

回答

4

根據您在回答我的評論分享了錯誤的細節,ScriptService屬性添加到您的服務類,如下所示:

[WebService(Namespace = "http://yournamespace/")] 
[ScriptService] 
public class Your service 
{ 
    [WebMethod] 
    public MeGroup UpdateNewGroup(String id) 
    { 
     MeGroup group = new MeGroup(); 
     return group; 
    } 
} 
+1

Thx它的工作是我應該添加[ScriptService] – 2014-11-21 09:16:40

+0

@SamySammour:樂於幫助。現在您知道如何在遇到類似的服務器端錯誤時獲取更多相關信息。 – J0e3gan 2014-11-21 09:40:56

相關問題