4
我试图用AJAX发送数据到Node.js服务器,但不断碰到相同的问题,接待。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://nodejs.org/api/http.html基本的HTTP服务器造成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
(localhost)。
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/');
我不想送任何东西,就获得什么的客户端(AJAX)做派。 AJAX不是GET请求,而是POST。 –
请求必须在所有情况下完成。客户端将等待请求结束。如果您不需要发回数据,只需使用res.end()完成请求。没有参数。 –
检查答案更新 –