Ich bin in der Lage, es funktionieren zu lassen (Erfolgsrückruf).AJAX-Aufruf, der kein JSON-Objekt von WebMethod zurückgibt
Aber was ich als Antwort erhalten, ist die ganze HTML von default.aspx
The AJAX:
function CreateLottery(lottery) {
debugger; // 'lottery' comes with the properties of the Lottery class
$.ajax({
type: 'POST',
url: 'default.aspx/Create',
data: JSON.stringify({ data: lottery }),
dataType: 'text',
success: function (data, status) {
alert(data.TotalValue + " " + status) //"undefined success"
},
error: function() {
alert("error!")
}
});
}
I "undefined Erfolg" in der Warnung bekommen. "Daten" ist das gesamte HTML-Dokument, kein "Lottery" -Objekt.
The erstellenWebMethod und die Lotterie Klasse:
[WebMethod]
public static Lottery Create(Lottery lottery)
{
return lottery;
}
public class Lottery
{
public string TotalValue { get; set; }
public string Players { get; set; }
}
ich nicht herausfinden können, was genau das gleiche Objekt vor sich geht, wird die WebMethod Rückkehr, dass sie empfangen, wie ich Kann auf den Erfolgsrückruf nicht zugreifen?
BEARBEITEN: Die WebMethod wird nicht getroffen. Der "ScriptManager" ist in default.aspx mit EnablePageMethods festgelegt auf True. Wenn ich den WebMethod-Namen (Create) in irgendwas ändere und in AJAX-URL/Create behalten, bekomme ich immer noch den ganzen default.aspx-HTML als Antwort.
Hinweis: Beschwerden über Downvotes bringen wahrscheinlich nur mehr Downvotes. –
Ich habe es entfernt. Kannst du nicht helfen, anstatt dieser unfreundlichen Behandlung? Vielleicht hilft mir Ihre Ablehnung einer legitimen Frage wirklich. Vielen Dank. – Tiago
Ich glaube nicht, dass es funktioniert, das "ganze Dokument" ist wahrscheinlich eine 404 oder 500 HTTP-Antwort. Hast du tatsächlich den Inhalt von 'Daten' betrachtet? – Crowcoder