javascript - 从类方法中的 ajax post 函数回调函数更改 javascript 类属性

标签 javascript jquery ajax oop

下面是我的 javascript 文件的内容。

var inyavicsage = inyavicsage || {};

inyavicsage.TestClass = function () {
    this.testProperty = null;
}

inyavicsage.TestClass.prototype = {
    constructor: this,
    testMethod: function () {
        testClass = this;

        $.post('test.php', function(data){
            testClass.testProperty = data;
        });

        alert(testClass.testProperty);
    }
}

var testClass = new inyavicsage.TestClass();
testClass.testMethod();

我希望“alert(testClass.testProperty)”语句应显示分配给“testClass.testProperty”的“data”变量的内容,而不是显示“null”。

问题是什么以及解决方案?

最佳答案

alert(testClass.testProperty) 显示 null 因为 post 请求是异步的。

所以基本上你是在属性被设置之前获得它的。 这将起作用:

$.post('test.php', function(data){
    testClass.testProperty = data;
    alert(testClass.testProperty);
});

关于javascript - 从类方法中的 ajax post 函数回调函数更改 javascript 类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36840651/

相关文章:

javascript - Firebase 身份验证,未定义 firebase

javascript - 在 DataTables 中显示 "All"页面以及响应表和其他属性

jquery - 使用ajax mvc更新数据时如何更新表中的行

javascript - Ajax 表单不显示 html

javascript - 使用 self.location.href 重定向不起作用

php - 需要一个 html 页面但不回显它

javascript - DataBind 之后运行 JavaScript

javascript - 以 08 数字开头的正则表达式

javascript - 在 PHP 中如何使用 $_REQUEST 检索输入数组以输入数据库

javascript - 如何在选择网格内的下拉菜单时停止刷新剑道网格?