2013-06-02 192 views
0

當前正在做一個asp.net網站,我試圖從web服務獲取數據並顯示檢索到的數據表。下面是ajax。加載資源失敗:服務器響應的狀態爲500(內部服務器錯誤)

<script type="text/javascript"> 
$.ajax({ 
type: "GET", 
url: "/CaregiverService.asmx/createJsDataTable", 
data: "{}", 
contentType: "application/json; charset=utf-8", 
dataType: "json", 
success: function (json) { 
    console.log(json); 
    console.log(json.d.aaData); 
    $('#nursingHomeTable').dataTable({ 
     "aaData": json.d.aaData, 
    }); 
}, 
error: function(XMLHttpRequest, textStatus, errorThrown) { 
       alert("Status: " + textStatus); alert("Error: " + errorThrown); 
      }  
}); 
</script> 

爲WebService

 [WebMethod] 
     [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
     public JsonDataTable createJsDataTable() 
     { 

     JsonDataTable jsDT = new JsonDataTable(); 

     List<object> vl = new List<object>(); 
     vl.Add("value 1"); 
     vl.Add("value 2"); 
     vl.Add("value 3"); 
     vl.Add("value 4"); 
     jsDT.add_Row(vl); 

     return jsDT; 
     } 

已經收到這個錯誤,當我檢查的元素,但仍然沒有得到哪來的錯誤。我點擊谷歌瀏覽器中的檢查元素http://localhost:2179/CaregiverService.asmx/createJsDataTable,它工作正常。希望有人可以幫我解決它:x

回答

0

我不知道這是否會解決您的問題,但我很確定Asp.net web服務默認只接受POST方法。所以請嘗試將類型更改爲POST。

OR

集嘗試在Web服務在接收端設置此功能

[WebMethod] 
[ScriptMethod(UseHttpGet = true)] 

OR

在你的web.config

試試這個

<webServices> 
    <protocols> 
     <add name="HttpGet"/> 
     <add name="HttpPost"/> 
    </protocols> 
</webServices> 
+0

HTTP:/ /stackoverflow.com/q/2716363/447356 –

+0

好吧,我得到它的一個好主意發佈鏈接到相關的stackoverflow帖子,但你爲什麼downvote我的答案?它不清楚,不準確或錯誤嗎?我可以做些什麼來改善它並使之成爲鼻菸? –

+0

你說過「我非常確定Asp.net web服務只採用POST方法」,這個帖子證明是錯誤的。現在你添加了一些有用的信息,這可能是一個更好的幫助。 –

相關問題