在我的一个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) 从 nodejs 我一直试图在远程服务器上执行 linux 命令并在流中获取输出以进行进一步处理。为了连接到远程 linux 服务器,我拥有所有必要的详细信息,例如 serverip、用户名和密码。我在互联网上搜索了很多,发现这可以通过 ssh 来实现。
Nodejs ui页面可以将shell cmd运行到远程机器并运行脚本吗
但是这个答案有点令人困惑,我不知道如何在连接中使用密码。
指向任何工作示例的指针都会有很大帮助。
在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)
请理解后,让我知道问题出在哪里。
谢谢
我正在使用快速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) 我正在尝试使用 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) 我正在尝试从数组中获取值并按以下代码写入文本文件。
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)
请帮忙。
我的角度版本是 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>.
请建议。
node.js ×5
express ×2
javascript ×2
angular ×1
angularjs ×1
html ×1
mongodb ×1
postgresql ×1
routes ×1
socket.io ×1
temp-tables ×1