In diesem Szenario muss die Funktion beforecreate eines JavaScript-Widgets die Elementerstellung basierend auf einer Ajax-Antwort verhindern. Die Standard-Ajax-Anfragen von jQuery sind jedoch asynchron.
Um die Ajax-Anfrage synchron zu machen, geben Sie die Option async auf false an die jQuery-Funktion $.ajax. Dadurch wird sichergestellt, dass der Rückruf ausgeführt wird, bevor die Mutterfunktion fortfährt.
beforecreate: function (node, targetNode, type, to) { jQuery.ajax({ url: 'http://example.com/catalog/create/' + targetNode.id + '?name=' + encode(to.inp[0].value), success: function (result) { if (result.isOk == false) alert(result.message); }, async: false }); }
Durch Setzen von async auf false, jQuery führt eine synchrone Ajax-Anfrage aus, was bedeutet, dass der Rückruf unmittelbar nach dem Server aufgerufen wird antwortet. Dadurch kann der Rückruf die erforderlichen Daten festlegen, bevor die Funktion beforecreate fortgesetzt wird, wodurch die gewünschte Funktionalität zum Verhindern der Elementerstellung basierend auf der Ajax-Antwort bereitgestellt wird.
Das obige ist der detaillierte Inhalt vonWie kann ich jQuery-Ajax-Anfragen synchronisieren, um die Widget-Erstellung zu steuern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!