【问题标题】:I need to return a variable from a jquery function [duplicate]我需要从 jquery 函数返回一个变量 [重复]
【发布时间】:2013-12-08 08:28:27
【问题描述】:

我需要从函数中返回一个变量

function getdatabasesize() {
    name = "t";
    var test
    $.post(
        'ajax/getlastfilenumber.php',
        { name: name }, 
        function(data) {    
            test = data;
        });
        return test;
    }

然后我用类似的东西来称呼它

alert(getdatabasesize());

var test = getdatabasesize()

但我得到的只是undefined。我想用它来获取你在我的数据库中看到的最后一条记录号。

【问题讨论】:

  • 记住,AJAX 中的第一个 A 代表异步。 return test 在 AJAX 回调函数中设置 test 之前被命中。

标签: jquery function return


【解决方案1】:

你可以从函数返回promise接口,然后在上面使用特定的方法:

function getdatabasesize() {
    name = "t";
    return $.post(
        'ajax/getlastfilenumber.php', {
        name: name
    });
}

getdatabasesize().done(function (data) {
    alert(data);
});

【讨论】:

  • 我不知道为什么这被否决了?
  • 只是代码,不解释,大概就是这样
  • 您好 A. Wolff,您发布的内容有效,但是我不能使用 getdatabasesize 范围之外的数据。我对 jquery 真的很陌生,所以我不是 100% 确定如何让事情正常工作。但是我知道编程和 php,所以我应该能够理解这一点。我尝试在范围之外创建一个 var 并使用它,但它仍然不起作用。
  • 设置外部范围(全局?)变量,例如 var test; 并影响 done() 回调中的值。仍然在 done() 回调中,调用函数来使用这个新的变量值。这就是你必须处理异步方法的方式。
猜你喜欢
  • 2014-05-25
  • 2013-11-22
  • 1970-01-01
  • 2021-05-15
  • 2021-04-03
  • 1970-01-01
  • 2013-11-13
  • 2015-08-11
  • 1970-01-01
相关资源
最近更新 更多