我正在尝试将get请求发送到我的server.js,并使其返回“已收到get请求”
我也在用离子
但是,当我执行get请求时,返回的数据是文件的实际内容
app.js :(客户端)
$http.get('/myApp/index.js')
.success(function (data, status, headers, config) {
alert("YES "+ data);
})
.error(function (data, status, header, config) {
alert("rip "+ data);
});
index.js(服务器端)
var fs = require('fs');
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/', function(req, res){
//console.log(req);
//console.dir(req.body);
res.writeHead(200);
res.send('thanks');
});
我相信问题出在实际在云9上启动服务器,但是这样做仍然会出错。
您可以看到我停止接收此错误的尝试
events.js:141
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::2000
at Object.exports._errnoException (util.js:870:11)
at exports._exceptionWithHostPort (util.js:893:20)
at Server._listen2 (net.js:1234:14)
at listen (net.js:1270:10)
at Server.listen (net.js:1366:5)
at Object.<anonymous> (/home/ubuntu/workspace/myApp/index.js:9:6)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
我相信这就是导致get请求返回实际文件内容(实际代码)的原因
我也从云9收到此错误:
There are issues starting your app. Please make sure you are using the correct $IP and $PORT, run as the correct user or kill any processes that might be conflicting. You can find more information in our docs.
我通过在正确的文件目录中键入
node index.js
来运行服务器,因为单击播放按钮没有任何作用。如果有人能理解问题所在,我将不胜感激。我已经尝试过socket.io,但这不能解决我的服务器启动问题。提前致谢。 最佳答案
我懂了。基本上对于不了解云9的用户会抛出此错误:
There are issues starting your app. Please make sure you are using the correct $IP and $PORT, run as the correct user or kill any processes that might be conflicting. You can find more information in our docs.
这是因为云9使用环境变量$ PORT来知道在哪个端口上为应用程序提供服务。基本上要解决此问题,您必须使用
ionic serve -p $PORT
而不是ionic serve
启动服务器,以便云9会知道要使用哪个变量