无法将对象发送到NodeRED

时间:2016-04-24 10:00:24

标签: javascript angularjs

我正在尝试将以下内容发送到NodeRED ..

this.user= {

         medName1: '',
         medTime1: ''
         },
         {
         medName2: '',
         medTime2: ''
         },
         {
         medName3: '',
         medTime3: ''
    };

    this.register = function() {
       console.log('User clicked register', this.user);
       $scope.sock.send(this.user);
    };

点击“提交”按钮后调用register()。

问题在于,每当我尝试通过websocket连接将this.user发送到NodeRED时,我都会在NodeRED中显示[object Object]。我已经阅读了与[object Object]相关的答案,但没有一个能解决这个问题。

我该如何解决这个问题?非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

如果你让this.user成为一个数组怎么办?

this.user= [{

         medName1: '',
         medTime1: ''
         },
         {
         medName2: '',
         medTime2: ''
         },
         {
         medName3: '',
         medTime3: ''
         }
    ];

    this.register = function() {
       console.log('User clicked register', this.user);
       $scope.sock.send(this.user);
    };

答案 1 :(得分:0)

this.user改为Array,如下所示

this.user= [
         {
         medName: '',
         medTime: ''
         },
         {
         medName: '',
         medTime: ''
         },
         {
         medName: '',
         medTime: ''
         }
    ];

this.register = function() {
   console.log('User clicked register', this.user);
   $scope.sock.send(this.user);
};

您可以this.user[0]对第一位用户进行obtenir。

然后,您可以按medName对第一位用户this.user[0].medName进行搜索,该string应为this.user

如果您想将string转换为var userString = this.user.toString(); ,请尝试Array toString Method

this.user

或者您可以将json转换为JSON.stringify(this.user)

forwarders