javascript - 返回数据在 Angular 的 http 请求中不起作用

标签 javascript angularjs

我有下面的函数,它有一个 Angular http请求。在 success部分,我试图返回提供的数据,并返回我的 setTextFile() 中的值函数,但它是未定义的。我已检查数据不为空或未定义,因此我知道它包含信息,但我不明白为什么它不返回该内容。

var showFile = function (txtFile, host) {

        var datData;
        var url = 'rest/archive-viewer/spanish-discount/' +
                  $rootScope.currentEnv + '/' +
                    host + '/' +
                    txtFile;

        $http.get(url).success(function (data) {

            $scope.sendingMessage = "Getting file";
            $scope.sending = false;
            $scope.sendingMessage = "";


            return data;


        }).error(function (data) {
            $scope.sendingMessage = "Creation failed";
            $scope.sending = false;

        });


    }

    $scope.pullFiles();


};

这是我的setTextFile由于 showFile() 的结果,函数的返回值未定义返回值。

 var setTextFile = function (file,host) {
        console.log("Is this null " + showFile(file, host));
        return showFile(file, host);
    }

最佳答案

该 http 请求是异步的。我建议您做的是将数据分配给可验证的范围,例如: $scope.setTextFile = 您在ajax请求中传递的成功函数中的数据。相反,您可以创建一个函数来设置数据并触发 success 函数内的函数。

关于javascript - 返回数据在 Angular 的 http 请求中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31326571/

相关文章:

javascript - 通过变量值调用函数并保持此指针的作用域

html - 如何在 AngularJS 中使用图像作为背景?

javascript - 将breezeJs与Angular一起使用

javascript - 为什么我的 Sequelize 查询对小数列求和并以字符串形式返回

javascript - 使用 Hammerjs、CSS-Transform 和 Transform origin 进行手势移动

php - 概念 - 根据 URL 路径提供动态内容?

angularjs - 如何使用三元运算符来选择复选框?

javascript - 使用 $mdDialog.show() 将范围项返回到父范围

javascript - orderBy 未正确过滤数字

javascript - 将 html 文件放入 iframe 或 div 中并单击它