我试图用AJAX将数据发送到服务器的Node.js,但保持碰到同样的问题,接待。
下面是客户端的JavaScript / AJAX代码:
var objects = [
function() { return new XMLHttpRequest() },
function() { return new ActiveXObject("MSxml2.XMLHHTP") },
function() { return new ActiveXObject("MSxml3.XMLHHTP") },
function() { return new ActiveXObject("Microsoft.XMLHTTP") }
];
function XHRobject() {
var xhr = false;
for(var i=0; i < objects.length; i++) {
try {
xhr = objects[i]();
}
catch(e) {
continue;
}
break;
}
return xhr;
}
var xhr = XHRobject();
xhr.open("POST", "127.0.0.1:8080", true);
xhr.setRequestHeader("Content-Type", "text/csv");
xhr.send(myText);
console.log(myText);
出于某种原因,你可以得到基本的HTTP服务器http://nodejs.org/api/http.html是造成ECONNREFUSED
错误(甚至使用sudo和8080端口),所以我试图用这个简单的代码:
var http = require('http');
http.createServer(function(req, res) {
console.log('res: ' + JSON.stringify(res.body));
}).listen(8080, null)
但它使印刷res: undefined
。
在另一方面, AJAX
POST
似乎并没有在控制台中引发任何错误。
所以,如果下面我的问题:
- 我怎么能有一个可以获取由一个发送文本的简单而坚实的node.js服务器
AJAX
POST
请求?
先感谢您 !
编辑:该测试是在完成127.0.0.1
(本地主机)。
EDIT2:这是更新的Node.js的代码:
var http = require('http');
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end();
req.on('data', function(data) {
console.log(data);
})
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');