为从AJAX调用中utlizes DATA参数的函数定义回调
Define a callback for a function that utlizies DATA parameter from AJAX call
我正试图将<textarea>
中的HTML保存为电子邮件模板。这可以在多个地方完成,所以我想创建一个save_email_template()
函数,它可以接收参数并根据需要保存(我已经成功地完成了)。
我还想在每次调用save_email_template()
函数时指定一个回调。catch在回调中,我想用各种方式处理从save_email_template()
函数内部的ajax调用返回的data
。
这是我的代码:
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);
}
});
问题:
我一直在获取JS错误"data"not defined"及其引用我的回调。。。该代码CCD_ 6。显然,data
还没有定义,但我如何引用AJAX调用中返回的data
?
save_email_template()
函数中。相反,从函数返回ajax调用,并在返回的jqXHR上编写.done()
或.then()
处理程序。这允许您在代码的同一区域中调用函数并定义回调逻辑。
function save_email_template(options){
return $.ajax({
type: "POST",
url: '/save_email_template.php',
data: options.params
});
}
save_email_template(options).then(function(data) {
//write your callback logic here
});
相关文章:
- 用嵌套函数和默认函数定义函数
- 使用Extjs进行函数定义
- JS中奇怪的函数定义语法
- 重写javascript函数定义
- 使用角度图时,我可以用函数定义数据点颜色吗
- modal.js中的匿名函数定义
- 为从AJAX调用中utlizes DATA参数的函数定义回调
- Emacs:在 etag 中查找函数定义
- Javascript:对象函数定义
- 为什么要在函数定义之外引用静态变量(函数属性)
- Ember 对象函数定义中的计算属性.js
- javascript/jQuery中函数定义的区别
- CoffeeScript 承诺与函数定义链接
- 如何在使用 eval() 评估 JavaScript 时将回调函数定义作为参数传递
- Javascript - 为什么下面的函数定义错误
- 使用函数声明时的自定义函数(也称为惰性函数定义)
- JavaScript 函数定义不正确
- jQuery off on 时是用匿名函数定义的
- 停止 IntelliJ 11 在启用 JSLint 时向每个嵌套函数定义添加“use strict”
- 为什么不是't我为这个函数定义的javascript函数