让我的客户端JavaScript调用在node.js上运行的server.js内部的函数

时间:2018-08-24 15:53:12

标签: javascript node.js arduino johnny-five

我正在使用Johnny-Five通过node.js和express控制arduino uno的中继。这是使用

在节点js内执行的server.js文件
  

节点服务器

var express = require('express');
var app = express();
app.use(express.static(__dirname + '/'));

app.listen('8000');


var five = require("johnny-five");
var board = new five.Board(
{
    port:"Com3"
}

);

board.on("ready", function() {


  var relay = new five.Relay(10);

  // Control the relay in real time
  // from the REPL by typing commands, eg.
  //
  // relay.on();
  //
  // relay.off();
  //
  this.repl.inject({
    relay: relay
  });
});

我想调用relay.on()激活来自链接到html的validator.js的中继:

function amountentered(id)
        {
              if(event.keyCode == 13 && id.value== maxvalue)
                {
                    console.log("relay activated");
                    // relay.on() <-- but doesn't work

                }
                else
                {

                    return;
                }
        }

我对服务器端javascript很陌生。请帮忙!

2 个答案:

答案 0 :(得分:0)

您必须将请求发送到服务器。

在客户端js中进行ajax调用,并在发送请求时让服务器端运行relay.on()

How to handle requests

答案 1 :(得分:0)

是的,就像帕珊(Pashan)说的那样。

在事件上调用此

$.ajax({
        url: URL_PATH_HERE
        type: 'GET',
        contentType: "application/json; charset=utf-8",
        dataType: 'type here',
        async: true,
        success: function(data){
            //do something with the data
        },
        error: function(res) {
            //show an error
        }
    });