首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与多个实例实时共享表单输入值?

如何与多个实例实时共享表单输入值?
EN

Stack Overflow用户
提问于 2019-11-05 18:05:30
回答 2查看 53关注 0票数 0

在我的毕业论文中,我必须为硬件维修公司制作一个网站,用它来代替信息表,让它更舒适。我的问题是,是否有一种方法同时向多个客户端显示实时表单值(而不提交)?

预期情况如下:

  • 员工在电脑中填写公司信息
  • 客户端从平板电脑中填写他们的信息和设备的问题。

他们都能看到表格上的每一种类型。

我期待socket.io,因为我知道你可以用它做实时项目。

我想使用Vuejs作为前端框架。

提前谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-06 15:56:20

您可以尝试以下(非常基本)的示例:

文件夹和文件:

代码语言:javascript
复制
  server.js
  package.json
      -public
          index.html
          bix.js

package.json

代码语言:javascript
复制
{
  "dependencies": {
    "express": "^4.17.1",
    "socket.io": "^2.3.0"
  }
}

index.html

代码语言:javascript
复制
<html>
  <body>
    <h1>Bix</h1>
    <h3>
      first input: <input id='first' type='text' /><br><br>
      second input: <input id='second' type='text' /><br><br>
    </h3>     
    <script src='/socket.io/socket.io.js'></script>
    <script src='bix.js'></script>
  </body>
</html>

server.js

代码语言:javascript
复制
const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http); 
const PORT = 5000;
app.use(express.static('public'));

http.listen(PORT, () => {
  console.log('server listening on port ' + PORT);
});

io.sockets.on('connection', socket => {
  socket.on('first', value => {
    io.emit('first', value);  
  });  
  socket.on('second', value => {
    io.emit('second', value);  
  });  
});

bix.js

代码语言:javascript
复制
const socket = io();
const first = document.getElementById('first');
const second = document.getElementById('second');

first.addEventListener('input', () => socket.emit('first', first.value));
second.addEventListener('input', () => socket.emit('second', second.value));

socket.on('first', value => { 
  first.value = value 
});

socket.on('second', value => {
  second.value = value;
});

创建文件,运行npm install,运行node server,在两个选项卡中打开http://localhost:5000,请试一试。

这只是一个暗示,还有很多工作要做。

票数 1
EN

Stack Overflow用户

发布于 2019-11-05 18:11:57

在我看来,Socket.IO是一个很好的选择。事实上,很多nodejs的人更喜欢使用它。但是,第一次处理实时数据可能有点痛苦。因此,我强烈推荐FeathersJS。它有一个强大的CLI,可以在短时间内创建CRUD操作。此外,它还允许休息和实时数据传输.它是基于ExpressJS的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58717078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档