Ich versuche, den HTML-Code aus einer <textarea>
als E-Mail-Vorlage zu speichern. Dies kann an mehreren Stellen geschehen, so dass ich eine save_email_template()
Funktion erstellen möchte, die Parameter empfangen und nach Bedarf speichern kann (was ich erfolgreich getan habe).Definieren Sie einen Rückruf für eine Funktion, die DATA-Parameter aus AJAX-Aufruf verwendet
Ich möchte auch einen Rückruf jedes Mal, wenn die save_email_template()
Funktion aufgerufen wird. Der Catch ist innerhalb des Callback Ich möchte die data
von einem Ajax-Aufruf innerhalb der save_email_template()
Funktion auf eine Vielzahl von Möglichkeiten behandelt behandeln.
Hier ist mein Code:
function save_email_template(options,callback){
$.ajax({
type: "POST",
url: '/save_email_template.php',
data: options.params,
success:function(data) {
if (typeof callback === 'function') {
callback(data);
}
}
});
}
save_email_template({
params: {
'action':'add',
'eid':$('input#id').val(),
'title':$('input#name').val(),
'html':$('textarea#html').val()
}
}, function(data){ // <---- "Data" Not Defined
if (typeof data.html_issues !== 'undefined') {
console.log('HTML Issues:\n------------------');
console.error(data.html_issues);
}
if (typeof data.css_issues !== 'undefined') {
console.log('CSS Issues:\n------------------');
console.error(data.css_issues);
}
if (data.status == "OK") {
$('body').append(data.html);
} else {
if (typeof data.error_msg !== 'undefined')
alert(data.error_msg);
if (data.status == "ERROR")
console.error(data);
}
});
DAS PROBLEM:
Ich halte immer die JS-Fehler ' "Daten" nicht definiert' und seine meinem Rückruf Referenzierung ... dieser Code function(data){...}
. Obviosly data
ist noch nicht definiert, aber wie kann ich die data
im AJAX-Aufruf zurückgegeben verweisen?
Übergeben Sie den Rückruf nicht in Ihre Funktion 'save_email_template()'. Übergeben Sie stattdessen den Ajax-Aufruf von der Funktion, und schreiben Sie einen '.done()' - oder '.then()' -Handler für den [jqXHR] (http://api.jquery.com/jQuery.ajax/#jqXHR) ist zurück gekommen. – dave
@dave TBH, es ist nichts falsch mit einem Rückruf ... DigitalMC: Ich verstehe die Frage nicht klar und ich verstehe nicht, warum Sie diesen Fehler bekommen. Ist das der vollständige Code? –
@dave würde ich nicht die Funktion 'save_email_template()' in eine Variable setzen müssen, um auf die Rückgabe zuzugreifen? Ich bin ein wenig verwirrt darüber, wie ich das einrichten soll. – DigitalMC