Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将姓名拆分为名字和姓氏,并在范围中使用_Javascript_Angularjs - Fatal编程技术网

Javascript 如何将姓名拆分为名字和姓氏,并在范围中使用

Javascript 如何将姓名拆分为名字和姓氏,并在范围中使用,javascript,angularjs,Javascript,Angularjs,我与Node、Angular和Mongo合作。并且能够成功地从数据库中保存和检索用户。我的用户模型中有以下->名称:字符串。这基本上是用户输入其名字和姓氏的地方 现在我想从数据库中检索名字,并将名字和姓氏拆分,以检索名字和姓氏的第一个字母,从而创建用户的首字母 我的问题是如何基本做到这一点: 用于检索用户的部分app.js代码如下(在这个函数中,我将编写拆分的javascript代码): 我试过这样的方法: var FirstLastName = $scope.userInfo.data.nam

我与Node、Angular和Mongo合作。并且能够成功地从数据库中保存和检索用户。我的用户模型中有以下->名称:字符串。这基本上是用户输入其名字和姓氏的地方

现在我想从数据库中检索名字,并将名字和姓氏拆分,以检索名字和姓氏的第一个字母,从而创建用户的首字母

我的问题是如何基本做到这一点:

用于检索用户的部分app.js代码如下(在这个函数中,我将编写拆分的javascript代码):

我试过这样的方法:

var FirstLastName = $scope.userInfo.data.name;
console.log('---->>>>>' , FirstLastName);
但这当然是不对的(抛出一个错误)…

get()是异步的-您必须在success函数中管理数据:

//Retrieving the users
    $scope.getUsers = function() {
        $http.get('/api/users').success(function(data) {
                $scope.userInfo = data;
                var FirstLastName = $scope.userInfo.data.name;
                console.log('---->>>>>' , FirstLastName);

                //console.log("Retrieved users from the server", data);
                //$scope.linkTaskToUser(data);
                //console.log(data);
            })
            .error(function(data, status, headers, config) {
                console.log("Error in retrieving users from server");
            });

    }
    $scope.getUsers();

首先,将以下代码放入成功回调中:

var FirstLastName=$scope.userInfo.data.name; console.log('--->>>>>',FirstLastName)

现在,尝试仅控制data.name。如果这一个给了您数据,那么尝试console.log($scope.userInfo.name)

希望这对你有帮助!!
干杯

这将如何引发错误?拆分名称的唯一方法是正确插入名称,而不是完全插入数据库。您不能保证可以按代码拆分名称。f/e在荷兰,你的姓可以是van den moll,在许多国家,你有多个名字和中间名。在数据库中拆分它们,否则在某些本地化方面总是会遇到问题。@Mathijsegers:我得到的错误如下->@Mathijsegers:本地化问题对我的项目来说不是什么大问题。.你能检查一下userInfo包含的信息吗?对象中可能没有数据节点。只需执行console.log($scope…userInfo)。那可能会把事情弄清楚。您可能访问了错误的节点或获取了错误的数据。按照您的建议执行操作,但获取了错误->请在成功函数中查看数据中的内容。你能调试吗?数据是否未定义?我昨天已经解决了这些问题。但是谢谢你的输入你能在这里打印你的回复吗?内部成功回调写入:console.log(数据);然后让我知道输出。基本上,我必须首先通过我的用户进行循环,然后我可以访问我的用户的名称,然后我编写了一个函数来拆分名称以创建首字母(我已经计算出来了,无论如何,谢谢)
//Retrieving the users
    $scope.getUsers = function() {
        $http.get('/api/users').success(function(data) {
                $scope.userInfo = data;
                var FirstLastName = $scope.userInfo.data.name;
                console.log('---->>>>>' , FirstLastName);

                //console.log("Retrieved users from the server", data);
                //$scope.linkTaskToUser(data);
                //console.log(data);
            })
            .error(function(data, status, headers, config) {
                console.log("Error in retrieving users from server");
            });

    }
    $scope.getUsers();