2016-04-25 18 views
0

私はAngularJSからNodeRED配列に送る文字列を収集しようとしています。 AngularJSコードは次のようになりますNodeRED配列でangularJSから送信された文字列を収集する方法は?

this.user = 
    { 
    medName1: '', 
    medTime1: '' 
    }, 
    { 
    medName2: '', 
    medTime2: '' 
    }, 
    { 
    medName3: '', 
    medTime3: '' 
    }; 

私はmedName1、medTime1、..などのフォームデータを収集しています。私は

this.register = function() { 
$scope.sock.send(this.user.medName1); 
$scope.sock.send(this.user.medTime1); 
$scope.sock.send(this.user.medName2); 
$scope.sock.send(this.user.medTime2); 
$scope.sock.send(this.user.medName3); 
$scope.sock.send(this.user.medTime3); 
} 
は、私がボタン「送信」をクリックすると、レジスタ()が呼び出され、次のコードを使用して

NodeREDに、WebSocketを介して、このデータを送信するために一つずつ

しようとしています。

私の質問は - どのようにこれらの文字列をnodeRED配列に格納しますか?。私はそれを送信しているので、文字列は常に配列インデックス0に格納され、前の文字列を上書きします。私はまた、

$scope.sock.send(JSON.stringify(this.user)); 

を試してみましたが、それはそれは不可能ようにmedName1、medTime1に割り当てられた値を抽出し、できるようになりnodeREDに文字列として全体のことを送信します。

誰でも方法を提案できますか?本当にありがとうございます。

答えて

1

json.stingifyバージョンを送信すると、JSONあなたのNode-REDフローのノードを元に戻し、必要なJavaScriptオブジェクトに戻します。

+0

はい、うまくいきました。手伝ってくれてどうもありがとう :) –

0

まず、あなたのthis.user実際の配列ます

:NodeREDでこれを使用し、

this.register = function() { 
    $scope.sock.send(JSON.stringify(this.user)); 
} 

その後:あなたが言及しただけのように、単一のステップでthis.user配列を送信、その後

this.user =[ 
    { 
    medName1: '', 
    medTime1: '' 
    }, 
    { 
    medName2: '', 
    medTime2: '' 
    }, 
    { 
    medName3: '', 
    medTime3: '' 
    }]; 

var user_array = JSON.parse(the_serialized_array); 
+0

私はあなたが提案した方法を試してみましたが、この場合、配列全体がnodeREDに文字列として入ります。 –

+0

と$ scope.sock.send(this.user)のように送信する場合。 ? –

+0

これは文字列[オブジェクトオブジェクト]を送信します –

関連する問題