【发布时间】:2013-09-10 11:45:04
【问题描述】:
我使用 ajax 将我的部门名称填充到一个数组中。在 $.each 期间,departmentName 有一个值,但在 ajax 结束后,当我记录 departmentName 时它没有值。
$("#Search").click(function () {
var titleId = $("#title").val();
var departmentGenericId = $("#department").val();
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
var departmentName = [];
var complianceValue = [];
var nonComplianceValue = [];
var complianceRate = [];
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: '/AcknowledgementAdminLevel/AcknowledgemetnComplianceRate/',
data: {"titleId": titleId,
"departmentGenericId" : departmentGenericId,
"startDate" : startDate,
"endDate" : endDate
},
dataType: "json",
success: function (data) {
$.each(data, function () {
departmentName.push(this.DepartmentName);
complianceValue.push(this.Compliance);
nonComplianceValue.push(this.NonCompliance);
complianceRate.push(this.ComplianceRate);
});
}
});
console.log(departmentName);
});
【问题讨论】:
-
这个问题每天被问无数次。提问前请先搜索一下。
-
欢迎来到 Async 的精彩世界
-
我很确定
departmentName确实有一个值,即[](空数组)。 -
ajax 调用是异步的。在调用者上下文中的下一条语句执行之前,您不能依赖它们来完成......实际上,您宁愿依赖相反的......
-
再传递一个键值
async:false给ajax调用
标签: javascript jquery ajax