我有这个ajax调用功能。
function saveData(ip)
{
$JQ.ajax({
type: "POST",
url: "all_actions.php",
data:
{
page_url:document.URL,
ip_address:ip
},
success: function(responce)
{
if(responce)
{
var newtoken;
newtoken=responce;
return newtoken;
}
}
});
}
然后我还有另一个功能
function getToken()
{
var ip=myip
var mytoken;
mytoken=saveData(ip);
alert(mytoken);
}
我的 token 在警报中给出未定义。尽管如果我在 savedata 响应中警报 newtoken 变量,它会在警报框中给出正确的值。为什么如果我返回该 avlue,它不会分配给 mytoken。
是不是时间延迟问题。?
需要你的帮助...
最佳答案
您无法从异步
调用返回。
您必须在 success
函数中使用返回数据。无论您要使用token
做什么,请将该代码写入success
处理程序中。
success: function(responce)
{
if(responce)
{
var newtoken;
newtoken=responce;
// Global variable
sourceid = newtoken;
return newtoken; // This won't work
}
}
还有
function getToken()
{
var ip=myip
var mytoken;
mytoken=saveData(ip); // This won't return any data
alert(mytoken); // This won't give you anything useful
}
关于javascript 变量未显示正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14478493/