【发布时间】:2012-07-02 15:26:56
【问题描述】:
好的...凌晨 2 点,我在此划定界限。帮助... 在我的笔记本电脑最终走出窗外之前。 :)
我已经尝试过使用 setTimer、回调和其他我能想到的东西(当然还有其他一些 Stackoverflow 提示)。我已经剥离了所有内容,所以我只留下了基本代码。
我要做的是调用 parseRow() 并在它最后保存记录之前,我需要获取关联的类别(通过 AJAX);但是,它会直接过去,因此类别始终是“未定义的”。
function parseRow(row){
var rowArray = row.trim().split(",");
var date = rowArray[0];
var checknum = rowArray[1];
var payee = rowArray[2];
var memo = rowArray[3];
var amount = rowArray[4];
//ERROR: blows right past this one and sets the category variable BEFORE ajax returns
var category = autoSelectCategory(payee);
saveRecord(date, checkNum, payee, memo, category, payment, deposit);
}
function autoSelectCategory(payee) {
var data;
$.ajax({
async: false,
url: "autoselectcategory",
dataType: "json",
data: {
string: payee
},
success: function (returnedData) {
data = returnedData;
}
});
return data;
}
【问题讨论】:
-
编辑:我添加了@freakish 的建议,他是为了回应 penartur 的回答,因为我是个白痴并且没有正确返回数据 - 这就是我熬夜太晚的结果。上面实际上现在可以解决问题。但是,我将实现回调。
-
你也可以做一件事。只需在 autoSelectCategory 中传递所有这些参数并成功执行 saveRecord,但我想更好的方法是回调函数。
标签: javascript codeigniter jquery