2017-05-16 11 views
0

私は今日この問題で苦労しています。しかし、それに関するプロッパのドキュメントを見つけることはできません。HapinesのPOSTリクエストjs

私はVue.js/ES6フロントエンドとHapinesを持つNode.jsバックエンドを持っています。

私はフロントエンドからバックエンドへのPOST要求によってデータベースにデータを挿入する時点にいます。

現在、私はこのコード

フロントエンドを持っている:

saveOrder(){ 
    let Nes = require('nes'); 
    let appClient = new Nes.Client('ws://localhost:3000'); 
    appClient.connect((err) => { console.log(err); }); 

    let options = { 
     path: '/order', 
     method: 'POST', 
     payload: this 
    }; 

    appClient.request(options, (err, payload) => { 
     console.log(payload); 
    }); 
} 

バックエンド

server.route({ 
    method: 'POST', 
    path: '/order', 
    config: { 
     id: 'order', 
     handler: (request, reply) => { 
      return reply('Request came through'); 
     } 
    } 
}) 

これは私がサーバー

に送信JSONオブジェクトです
{ 
    "path": "/order", 
    "method": "POST", 
    "payload": { 
    "products": [{ 
     "id": 2, 
     "plu": "1AB23CD", 
     "name": "Some name", 
     "description": "Some description", 
     "barcode": "123456789", 
     "sellUnitID": 1, 
     "taxGroupID": 1, 
     "labelID": 1, 
     "defaultPrice": 1, 
     "sellAmount": 1, 
     "archived": 0 
    }] 
    } 
} 

私が電話すると、それはちょうどundefinedを返します。

私にこれを手伝ってくれる人がいますか、またはHapinesのPOST要求がHapines Githubページより詳しく説明されているドキュメントがありますか?

すべてのサポートをいただければ幸いです!

答えて

0

connectコールバック内でlet options = {...}appClient.request(...)を移動する必要があります。 connectは非同期で実行され、callback pattern(javascriptの共通パターン)を使用します。また、への参照を関数の先頭に宣言する必要があります。その理由は、scoping works inside of functionsのためです。

今の場合、実際にサーバーに接続する前にwebsocketリクエストを作成しようとしています。

function saveOrder() { 
    let self = this; 

    let Nes = require('nes'); 
    let appClient = new Nes.Client('ws://localhost:3000'); 

    appClient.connect((err) => { 

     if (err) { 
      console.log(err); 
      throw err; 
     } 

     let options = { 
      path: '/order', 
      method: 'POST', 
      payload: self 
     }; 

     appClient.request(options, (err, payload) => { 
      console.log(payload); 
     }); 
    }); 
}