我有以下代码:
var allChecks = [];
$('input[type=text]').each(function () {
var key = $(this).attr("id");
allChecks[key] = [];
}).promise()
.done(function () {
$('input[type=checkbox]').each(function () {
if (this.checked) {
var ref = $(this).attr('id');
$('.' + ref).each(function () {
allChecks[ref].push({
amount: $("#" + ref).text()
});
});
} else {
allChecks[ref].push({
amount: 0.00
});
}
}).promise()
.done(function () {
$.ajax({
cache: false,
type: 'POST',
data: {
allChecks: allChecks
},
url: '/process',
beforeSend: function () {
console.log("Processing your checks please wait...");
},
success: function (response) {
console.log(response);
},
error: function () {
console.log("Error");
}
});
});
});
我的Ajax调用运行但是我没有看到作为参数传递的数据,比如数组allChecks是否为空。当JavaScript同步运行时,我希望无论我在每个()之后放置什么都不会运行,直到每个()完成,所以Ajax调用应该运行良好,也不会给我传递数据,好像数组allChecks是空的。任何帮助或解决方案将不胜感激。感谢。