我必须从数据库加载一些数组数据,我是这样做的:
var priorities, users;
$.post("http://"+ document.domain + "/priority",
function(dat){
priorities = dat;
});
$.post("http://"+ document.domain + "/users",
function(dat){
users= dat;
});
然后我想在插件中使用这个变量,我意识到在设置这个变量之前插件就会被触发,即使这个代码位于 JS 文件的开头。
有没有更好的方法从数据库加载数据数组? 如果没有,我该如何在执行任何其他代码之前设置此变量?
谢谢。
最佳答案
$.post("http://"+ document.domain + "/priority",
function(priorities){
$.post("http://"+ document.domain + "/users",
function(users){
DoSomething(priorities, users);
});
});
function DoSomething(priorities, users){
// User Priorities and Users here
}
其他选择是同步调用ajax,但我不建议这样做:)
编辑:
var priorities, users;
function getPriority(){
$.post("http://"+ document.domain + "/priority",
function(dat){
priorities = dat;
});
}
function getUsers(){
$.post("http://"+ document.domain + "/users",
function(dat){
users= dat;
});
}
var dfd = $.Deferred();
dfd
.done([getPriority, getUsers])
.done(function() {
//here you will have priorities and users
});
dfd.resolve();
关于javascript - 在执行其他操作之前从 $.post 设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13589714/