JQuery - ASP.NET Web服务(.asmx) - 内部服务器错误(500)
问题描述:
我在这个主题上看到了很多问题,但从来没有这个问题。我可以从浏览器窗口调用这个Web服务,但是我从AJAX中得到错误。我收到内部服务器错误异常(500)。由于Im从本地主机连接,因此可能必须在JQuery中使用我的URL进行操作。这里是我的WS(简化版):JQuery - ASP.NET Web服务(.asmx) - 内部服务器错误(500)
<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/webdienst/_default")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class _default
Inherits System.Web.Services.WebService
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.JSON)> _
Public Function getOrganizerEventsJSON(ByVal strUser As String, ByVal strPasswort As String) As TEvent
Dim t As TEvent
'I get the event for the specified username and password
Return t
End Function
End Class
这里是我的JS:
var ASMX = "http://localhost:56035/default.asmx/";
jQuery.callAsmx = function (method, data, onSuccess, onError) {
var url = ASMX + method;
return $.ajax({
type: "POST",
url: url,
data: $.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
if (typeof onSuccess == "function") {
onSuccess(response.d);
}
},
error: function (msg) {
if (msg.status != 0) {
if (typeof onGlobalError == "function") {
onGlobalError([msg],
"Error while calling " + url, ERRORTYPE.error);
}
if (typeof onError == "function") {
onError(msg);
}
}
}
});
};
$.callAsmx("GetOrganizerEventsJSON", { strUser: username, strPasswort: password }, onEventsLoaded);
谢谢!
答
我有同样的错误,并能解决它:
你应该删除以下行:
contentType: "application/json; charset=utf-8",
dataType: "json",
试着用'static'关键字'方法public static function(...)'。 –
@DKM Nope ... Web服务类没有静态函数。 – lucafik
如果您遇到'500'错误,我想这个问题出现在您的服务器端。 – anmarti