如何将发送请求发送到cloud9中的server.js

时间:2016-05-10 03:57:44

标签: javascript angularjs node.js mean-stack cloud9-ide

嗨,我正在学习cloud9上的平均堆栈。

我已经到了我试图将变量发送到我的node.js服务器的地步,但我不确定我的服务器是否正在接收它。我的帖子请求代码是否有任何明显错误?

app.js(frontend angular)

console.log('begin');
    var http = new XMLHttpRequest();
    var params = "text=stuff";
    http.open("POST", "https://new-backup.splacorn.c9.io/myApp/server/server.js/", true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    http.onreadystatechange = function() {
        console.log('onreadystatechange');
        if (http.readyState == 4 && http.status == 200) {
            alert(http.responseText);
        }
        else {
        console.log('readyState=' + http.readyState + ', status: ' + http.status);
    }
}

console.log('sending...')
http.send(params);
console.log('end');

这是我得到的控制台响应:

begin
sending...
end
POST https://new-backup.splacorn.c9.io/myApp/server/server.js/ net::ERR_INSECURE_RESPONSE$scope.addNewUser

onreadystatechange
readyState=4, status: 0

我相信我得到的错误归因于这一行:

http.open("POST", "https://new-backup.splacorn.c9.io/myApp/server/server.js/", true);

一旦http.send(params);调用它。

这是server.js文件(后端)

var express = require('express');
var fs = require('fs');
var app = express();
var bodyParser = require('body-parser')

app.use(express.bodyParser());

app.post('/', function(req, res){
    console.log('POST /');
    res.writeHead(200);
    res.end('this is from the server');
});

var port = 3000;
app.listen(port);
console.log('Listening at http://localhost:' + port);

有谁知道为什么我收到错误?我的一部分认为我得到的云服务器网址错误,但我不确定......如果有人能帮我解决这个问题就太棒了!

1 个答案:

答案 0 :(得分:1)

我想改用socket.io。 以下是您如何做到这一点的一个小例子: - 客户端代码:

var io = io("http://localhost:1337");
io.emit('give me some data',{test:'testing socket.io'});
io.on('got the data',function(data){
    console.log(data.test);
});

服务器端代码:

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

io.on('connection',function(socket){
     socket.on('give me some data',function(data){
               socket.emit('got the data',data);
      }
app.listen(1337);

你可以获得socket.io here 它们既有客户端也有服务器端代码。希望你明白我的意思。我在打电话,所以不能打字。而且,socket.io提供客户端和服务器之间的实时连接:)