【问题标题】:Is it possible to return data from webage to main server是否可以将数据从网页返回到主服务器
【发布时间】:2016-12-02 13:25:07
【问题描述】:

这可能是一个(也可能是)愚蠢的问题,但我一直在尝试设置一个可以与 http 和 websockets 一起使用的服务器。我希望按下按钮的结果可以更改服务器中的值,然后可以通过 websocket 发送该值。

这是我的主服务器代码:

var express = require('express');                 
var app = express();
var expressWs = require('express-ws')(app);

app.use(function (req, res, next) {
 console.log('middleware');
 req.testing = 'device-protocol';
 return next();
});

app.get('/button.htm', function (req, res) {
  res.sendFile( __dirname + "/" + "button.htm" );
});

app.ws('/', function(ws, req) {
  ws.on('message', function(msg) {
    console.log("Message received from client: %s", msg);
    ws.send(JSON.stringify(msg));              
    given, should query

  });
  console.log('socket', req.testing);
});

var server = app.listen(8080, function () {

  var host = server.address().address
  var port = server.address().port

console.log("Test app listening at http://%s:%s", host, port)
})

这是我的按钮网页:

<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8 /angular.min.js"></script>
<script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope) {
       $scope.showMe = false;
       $scope.myFunc = function() {
           $scope.showMe = !$scope.showMe;
       }
   });
  </script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
    <button ng-click="myFunc()">Click Me!</button>

</div>
</body>
</html>

是否可以将网页按钮中的变量交回主服务器并使其不断更新?

【问题讨论】:

    标签: javascript angularjs node.js express


    【解决方案1】:

    只需让myFunc 向您的服务器发送一个普通的http request,它将接收一个值并通过您的 websockets 连接进行广播。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 2015-11-15
      • 2012-09-19
      相关资源
      最近更新 更多