function GetId() {
var id;
$.post("/Edit/CreateId", function (data) {
id = data;
});
return id;
}
但它在 id 从服务器返回之前返回;所以 id 是未定义的。
有什么解决方法吗?
function GetId() {
var id;
$.post("/Edit/CreateId", function (data) {
id = data;
});
return id;
}
但它在 id 从服务器返回之前返回;所以 id 是未定义的。
有什么解决方法吗?
该post()
方法是异步的,因此它的success
方法将在结果存在时触发,并且在此GetId
之前不会阻塞函数的其余部分。
要获得(可能)所需的行为,您可以将id
值分配给全局变量(错误的选择)或将其余功能作为回调函数(使用id
作为参数)直接传递给post
success
函数:
function GetId( cb ) {
$.post("/Edit/CreateId", function (data) {
// rest of your program logic will be executed here
cb( data );
});
}
您始终可以传入回调或使用匿名函数。它可以工作,但可能会有点不方便。不过,我不知道您的其他功能如何协同工作。
function GetId(callback) {
$.post("/Edit/CreateId", function (data) {
var id = data;
callback(id)
});
}
匿名函数的示例用法:
GetId(function(id){
//Do what you need to do.
});