HTML'yi bir <textarea>
e-posta şablonu olarak kaydetmeye çalışıyorum. Bu, birden fazla yerde yapılabilir, bu yüzden parametreler alabilen ve gerektiğinde saklayabilen bir save_email_template()
işlevini oluşturmak istiyorum (ki bu da başarılı bir şekilde yapıldı).AJAX çağrısından DATA parametresini kullanan bir işlev için geri arama tanımlayın
Ayrıca, her save_email_template()
işlevi çağrıldığında bir geri arama belirtmek istiyorum. Yakalama geri arama içinde işlevinin içinde ajax çağrısından döndürülen data
'u çeşitli yollarla işlemek istiyorum.
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);
}
});
SAYI::
Ben JS hata almaya devam ' "veri" tanımlanmadı' ve onun benim geri arama başvurarak ... Bu kod function(data){...}
İşte benim kodudur. Obviosly data
henüz tanımlı değil, AJAX çağrısında döndürülen data
'a nasıl başvurulur?
Geri arama işlemini 'save_email_template()' işlevine iletmeyin. Bunun yerine, ajax çağrısını işlevden döndürün ve [jqXHR] (http://api.jquery.com/jQuery.ajax/#jqXHR) üzerinde bir '.done()' veya '.then()' işleyicisi yazın. Geri döndü. – dave
@dave TBH, geri aramada yanlış bir şey yok ... DigitalMC: Soruyu açıkça anlamadım ve neden bu hatayı aldığımı anlamıyorum. Bu tam kod mu? –
@dave Geri dönüşe erişmek için 'save_email_template()' işlevini bir değişkene koymak zorunda kalmaz mıyım? Bunu nasıl ayarlayacağım konusunda biraz kafam karıştı. – DigitalMC