我试图根据AJAX get函数的回调来创建一个变量;我似乎无法让它工作。我想确保defaults.context在继续执行任何其他代码之前始终具有值。
我做错了什么或如何以正确的方式实现这一目标?
http://www.example.com/someurl?project_id=1&start_date=2016-01-10&end_date=2016-01-20
谢谢你,
Enzio
答案 0 :(得分:0)
您可以使用类似
的内容global_vars.template_url + "/includes/load-project-context.php?id=" + id, function(data) {
obj = JSON.parse(data);
}).complete(function() {
callback(obj);
}).fail(function() {
callback(error);
});
这是回调链接。您可以使用其他回调来处理其他用例。
答案 1 :(得分:0)
可能是你应该继续ajax回调中的进一步代码。
// Set defaults
function initDefaults() {
defaults.currentCase = getCurrentCase();
getContext(defaults.currentCase, function(object) {
defaults.context = object; // Continue your code inside here
console.log(defaults.context); // Logs the right data
return object;
});
// This will still return `undefined` because this line will be executed
// before the ajax request finishes.
console.log(defaults.context);
}
答案 2 :(得分:0)
请检查How to know when all ajax calls are complete
你会找到所有你需要的东西,并有很好的解释