从 AJAX 成功函数返回值
return value from ajax success function
我正在尝试从 ajax 成功函数返回值。 但它什么也没返回。
.JS
function calculate_total_percentage(course_log_id){
var total_percentage = 0;
$.ajax({
url:"teacher_internal_exam_management/get_exams_of_course_log/"+course_log_id,
type: "POST",
dataType: "json",
success: function (exams_of_course_log) {
for (var x = 0; x < exams_of_course_log.length; x++) {
total_percentage += parseInt(exams_of_course_log[x].marks_percentage);
}
alert(total_percentage);
return total_percentage;
}
});
}
如果我这样打电话
alert(calculate_total_percentage(course_log_id));
然后显示"61"(由于呼叫警报(total_percentage);)但然后显示"未定义"为什么?它应该显示两次"61"?问题出在哪里?
该函数不只是等到 ajax 调用完成后再退出,因此您需要一种方法来处理返回值何时到达...
function calculate_total_percentage(course_log_id, callback){
$.ajax({
url:"teacher_internal_exam_management/get_exams_of_course_log/"+course_log_id,
type: "POST",
dataType: "json",
success: function (exams_of_course_log) {
var total_percentage = 0;
for (var x = 0; x < exams_of_course_log.length; x++) {
total_percentage += parseInt(exams_of_course_log[x].marks_percentage);
}
callback(total_percentage);
}
});
}
您现在可以传递对回调函数的引用,该函数将在 ajax 调用成功后执行...
function calculate_total_percentage_success(total_percentage) {
alert(total_percentage);
}
现在你可以像这样调用你的原始函数了...
calculate_total_percentage(id, calculate_total_percentage_success);
相关文章:
- 根据是否解析了 Promise 从函数返回值
- Angular,函数在(模型)工厂中返回值
- Javascript中带有返回值的嵌套函数
- 从Ajax函数返回值
- HTML如何根据javascript函数的返回值限制文本输入
- 使用在函数外部声明的变量的 Javascript 返回值 + undefined
- 如何从嵌套的API函数返回值
- 如何记录调用另一个函数的函数的返回值
- 即使使用回调函数也无法返回值
- PHP 函数不会向 JavaScript 变量返回值
- 从异步函数返回值
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 从节点中的回调函数返回值
- 从另一个文件访问函数的返回值
- 从JSP页面调用Java Script函数未返回值
- jquery csv函数,如何返回值
- Scala提升了如何运行javascript函数并将返回值存储在变量中
- 等待函数完成,然后将返回值分配给变量JS
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 在 html 输入字段中使用返回值函数