-1
Ältere Versionen von jQuery:Warum funktioniert jQuerys .done() -Ajax-Funktion nur beim Verketten?
function testAjax(handleData) {
$.ajax({
url:"getvalue.php",
success:function(data) {
handleData(data);
}
});
}
Aktuelle Version von jQuery (funktioniert):
$.ajax({
url: "post.php",
data: {
id: 123
},
method: "GET",
dataType : "json",
})
.done(function(json) {
$("<h1>").text(json.title).appendTo("body");
$("<div class=\"content\">").html(json.html).appendTo("body");
})
Funktioniert nicht:
$.ajax({
url: "post.php",
data: {
id: 123
},
method: "GET",
dataType : "json",
done: function(json) {
$("<h1>").text(json.title).appendTo("body");
$("<div class=\"content\">").html(json.html).appendTo("body");
}
})
Weil die Bibliothek so implementiert wurde? Was fragst du? Es gibt keine unterstützte "done" -Eigenschaft für das '$ .ajax()' -Argumentobjekt. – Pointy
Weil es so funktioniert. Die Sache, die die'Ajax'-Methoden zurückgeben, hat eine "Done" -Methode. Das Objekt, das Sie an 'ajax' übergeben, konsumiert keine' done' Eigenschaft. Fragen Sie, warum sich der verwendete Ansatz geändert hat? –
Nicht schwer, das in den api docs nachzuschlagen. Ist ein bisschen wie zu sagen, warum funktioniert '$ .ajax(). Success()' nicht? Weil das nicht dokumentiert ist – charlietfl