小编use*_*sam的帖子

Node.js如何在快速路由中使用socket.io

在我的一个node.js脚本中,我试图在快速路由中使用socket.io。我发现了许多类似的问题,并尝试按照建议的方式实施解决方案,但没有解决。可能是因为我对快递路线的了解不足。我跟随以下链接,

如何在node.js的快速路由中使用socket.io

在expressjs路由中而不是在主server.js文件中使用socket.io

这是我的app.js

const express = require('express');
const app = express();
const server = require('http').createServer(app);
const io = require('socket.io').listen(server);

const PORT = 3000;
server.listen(PORT);
console.log('Server is running');
var api = require('./routes/api');

//app.use('/api', api);
app.use('/api', (req, res) => {
res.sendFile(__dirname + '/api.html');
});

app.get('/', (req, res) => {
   res.send("this is home location");
});
Run Code Online (Sandbox Code Playgroud)

并在./routes文件夹中路由文件api.js

var express = require('express');
var router = express.Router();
var fs = require("fs");
var bodyParser = require('body-parser');

const app = express();
const server = require('http').createServer(app);
const io …
Run Code Online (Sandbox Code Playgroud)

routes node.js express socket.io

7
推荐指数
2
解决办法
237
查看次数

nodejs在远程linux服务器上执行命令

从 nodejs 我一直试图在远程服务器上执行 linux 命令并在流中获取输出以进行进一步处理。为了连接到远程 linux 服务器,我拥有所有必要的详细信息,例如 serverip、用户名和密码。我在互联网上搜索了很多,发现这可以通过 ssh 来实现。

Nodejs ui页面可以将shell cmd运行到远程机器并运行脚本吗

但是这个答案有点令人困惑,我不知道如何在连接中使用密码。

指向任何工作示例的指针都会有很大帮助。

node.js

5
推荐指数
2
解决办法
1万
查看次数

Postgres-使用SELECT和ON COMMIT DROP创建临时表

在postgres(9.4)中,我试图通过select创建一个临时表并将“提交时提交”应用于同一表。我正在使用以下语法。

CREATE TEMPORARY TABLE t5 ON COMMIT DROP AS select * from test4
Run Code Online (Sandbox Code Playgroud)

它给消息

Query returned successfully: 5 rows affected, 62 ms execution time.
Run Code Online (Sandbox Code Playgroud)

但是当我查询同一张表时,

select * from t5
Run Code Online (Sandbox Code Playgroud)

它引发错误,

ERROR:  relation "t5" does not exist
LINE 1: select * from t5
                      ^
********** Error **********

ERROR: relation "t5" does not exist
SQL state: 42P01
Character: 15
Run Code Online (Sandbox Code Playgroud)

请理解后,让我知道问题出在哪里。

谢谢

postgresql temp-tables

3
推荐指数
1
解决办法
5408
查看次数

node.js express没有收到请求

我正在使用快速Web框架并尝试从angularjs发出$ http请求.我将数据传递给客户端请求,但服务器没有收到请求,原因不明.请帮忙.

server.js

var express = require('express');
var app = express();
var http = require('http');
var server = http.createServer(app);
var io = require('socket.io')(server);

var path = require('path');
var fs = require('fs');

app.use(express.static(path.join(__dirname, 'public')));

app.post('/readTfile',function (req,res) {
    console.log('i received a request');
    console.log(req.body);  
});

server.listen(3000);
Run Code Online (Sandbox Code Playgroud)

和角html

<html>   
   <head>
      <title>File tream 2</title>
        <script type="text/javascript" src="javascripts/angular.js"></script>                   
   </head>

   <body>
      <h2>File tream 2 AngularJS</h2>
        <div ng-app = "mainApp">            
            <div id="readfile" ng-controller = "Ctrl1">                 
                <div>{{myfiledata}}</div> </br></br>
            </div>   
       </div>    
   </body>
 <script> 
var mainApp = angular.module("mainApp",[])

mainApp.controller('Ctrl1', function ($scope, …
Run Code Online (Sandbox Code Playgroud)

javascript node.js angularjs

1
推荐指数
1
解决办法
1368
查看次数

nodejs 表达如何将响应发送回浏览器

我正在尝试使用 angularjs 和 express 在 nodejs 中制作登录应用程序。从 angularjs 我发送 $http post 请求到 server ,首先它应该检查数据是否已经存在于 MongoDB 并将响应发送回客户端。

问题是,我无法使用标头信息配置响应。每次我得到

错误:发送后无法设置标头。

或者

MongoError:E11000 重复键错误集合

Here is my app.js code.

app.post('/signin',function (req,res) {
    console.log('i recievied a get request in app.js = /signin');   
    console.log(req.body);
    db.users.findOne({$or: [{username: req.body.username}, {email: req.body.email}]},function (err, data){
    if ( err ) throw err;
    if (err) { res.send(err); return; }
    //res.json({ data: "Invalid Password" });
    if ( err ) {console.log('user found already in db'); console.log(err)};
    //res.json(data);
    //console.log('user found already in db')
    //res.redirect('/foo/bar'); …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js express

1
推荐指数
1
解决办法
7328
查看次数

node.js 将数组值写入文本文件

我正在尝试从数组中获取值并按以下代码写入文本文件。

while(filedataarr.length>0) {               
    firstelement = filedataarr.shift();
    //console.log(firstelement);
    fs.appendFile("D:\\Temp\\testclient.txt", firstelement+"\n", function(err) { if (err) throw err; });                    
    }   
Run Code Online (Sandbox Code Playgroud)

它实际上正在工作,我可以在文本文件中看到数据。但问题是,行的顺序是不同的。当我取消注释 console.log 时,它可以工作。我认为这是由于异步调用而发生的。我不知道如何处理这个问题。

           Data Comparison  
Array Data          File Data
11:41:24:562,9057   11:41:24:562,9057
11:41:24:567,1025   11:41:24:569,8872
11:41:24:569,8872   11:41:24:567,1025
11:41:24:571,1572   11:41:24:571,1572
11:41:24:573,429    11:41:24:573,429
11:41:24:574,61     11:41:24:577,3683
11:41:24:576,4863   11:41:24:574,61
11:41:24:577,3683   11:41:24:576,4863
11:41:24:578,8483   11:41:24:578,8483
17:11:53:826,1757   17:11:53:826,1757
Run Code Online (Sandbox Code Playgroud)

请帮忙。

javascript node.js

0
推荐指数
1
解决办法
297
查看次数

Angular Material =&gt; 从 formControlName 设置 mat-select 的值

我的角度版本是 7。我正在创建一个表单,其中有一个下拉选择来选择一个选项。我的列表适用于选择,但是当我加载页面时,它没有显示预定义的值。该页面处于编辑用户数据的形式。下面是我的html代码,

<ng-container matColumnDef="name">
    <mat-header-cell *matHeaderCellDef>Server Name</mat-header-cell>
    <mat-cell *matCellDef="let row; let index = index" [formGroupName]="index">
        <mat-form-field>
            <!-- <input class="jminput" matInput formControlName="name" autocomplete="off"> -->
            <mat-select matSelect [formControl]="name">
                <mat-option *ngFor="let item of arr" value="item">{{item}}</mat-option>
            </mat-select>
            <mat-error *ngIf="name.touched && !name.required">
                Server Name is required
            </mat-error>
        </mat-form-field>
    </mat-cell>
</ng-container>
Run Code Online (Sandbox Code Playgroud)

当我代替<input><mat-select>,它会工作并显示作为初始值的值。所以我认为formControlName="name"工作正常。但它不适用于<mat-select>.

请建议。

html angular-material angular

0
推荐指数
1
解决办法
4150
查看次数