2013-06-02 167 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方法”,这个帖子证明是错误的。现在你添加了一些有用的信息,这可能是一个更好的帮助。 –

相关问题