函数rk()从Ajax调用返回随机密钥,参数l代表长度。我的问题是如何从我的“k”变量中获取Ajax结果的返回值?
var k = rk(6);
function rk(l) { //l stands for length
$.ajax({
url : 'ajax_lib.php',
type : 'POST',
data : 'k=1&l=' + l,
success : function(r) {
return r;
}
});
}
答案 0 :(得分:2)
Ajax使用异步处理,意味着一旦请求被发送到服务器,它将继续执行剩余的语句而不等待响应。
因此,在您的情况下,一旦请求被发送到服务器,rk
返回undefined
(因为没有返回语句)值,变量k
将具有值{{1} }。
要解决此问题,请使用$ .ajax
返回的promise对象undefined
答案 1 :(得分:0)
解决方案可能是
function rk(myVariable, l) { //l stands for lenght
$.ajax({
url : 'ajax_lib.php',
type : 'POST',
data : 'k=1&l=' + l,
success : function(r) {
myVariable = r;
}
});
}
而不是致电r=rk(l)
你可以致电rk(r, l)