Ich sah viele Probleme zu diesem Thema, aber niemals dieses. Ich kann diesen Webservice vom Browserfenster aus aufrufen, bekomme aber den Fehler von AJAX. Ich erhalte eine interne Serverfehlerausnahme (500). Es muss möglicherweise etwas mit meiner URL in JQuery tun, da ich von localhost verbinde. Hier ist (eine vereinfachte Version) meine WS:JQuery - ASP.NET-Webdienste (.asmx) - interner Serverfehler (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
Und hier meine JS ist:
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);
Vielen Dank!
Versuchen mit 'static' Stichwort' öffentlicher statischer Funktion (...) '. –
@DKM Nein ... Statische Funktionen sind für Web-Service-Klassen nicht zulässig. – lucafik
Wenn Sie einen '500' Fehler bekommen haben, liegt das Problem wahrscheinlich an Ihrem Server. – anmarti