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

您好,我正在学习云9上的平均堆栈。

我已经到了试图将variables发送到我的node.js服务器的地步,但是我不确定我的服务器是否正在拾取它。 我的发布请求代码是否有明显的错误?

app.js(前端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); 

有谁知道我为什么得到错误? 我的一部分认为,我得到的云9服务器的url错了,但我不知道…如果任何人都可以帮我弄明白这将是惊人的!

我想用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他们既有客户端,也有服务器端代码。 希望你明白了我的观点。 我在电话上,所以打不出太多。 而且,socket.io提供客户端和服务器之间的实时连接:)