gpt4 book ai didi

javascript - 访问 Prototype 中 onSuccess 函数内设置的值

转载 作者:行者123 更新时间:2023-11-28 16:40:16 25 4
gpt4 key购买 nike

我正在使用 Ajax 和 Prototype 库。

这是我调用 Ajax 函数的函数。

function Testfn()
{

var DateExists = '';

new Ajax.Request('testurl',{
method: 'post',
parameters: {param1:"A", param2:"B", param3:"C"},
onSuccess: function(response){
//DateExists = response.responseText;
DateExists = 1;
}
});
// I want to access the value set in the onsuccess function here
alert(DateExists);

}

当我提醒 DateExists 值时,我得到的是 null 值,而不是我的 Ajax 调用的 onsuccess 函数中设置的值,即 1。这怎么可能?

感谢您的帮助。

最佳答案

AJAX 中的 A 代表异步。这意味着,一旦您使用 new Ajax.Request 分派(dispatch) Ajax 请求,该请求就会发送到服务器并立即将控制权返回给您的脚本。因此,alert(DateExists) 将显示您最初设置的“”。

要在从 AJAX 请求返回后查看 DateExists 的值,必须将其移至 onSuccess() 方法内。

示例:

function Testfn() {

var DateExists = '';

new Ajax.Request('testurl', {
method: 'post',
parameters: {param1:"A", param2:"B", param3:"C"},
onSuccess: function(response){
DateExists = response.responseText;
alert(DateExists);
}
});
}

关于javascript - 访问 Prototype 中 onSuccess 函数内设置的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1243101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com