我认为这不是最困难的问题,但我无法解决。 我有一些HTML,CSS和JavaScript代码。在html页面上,用户可以在搜索字段中输入数字。我的目标是在我的node.js代码中使用这个数字来做更多的事情。
到目前为止我的想法:
比我尝试了以下内容:
在服务器端:
var http = require('http');
http.createServer(function (req, res) {
console.log('Request received');
res.writeHead(200, {
'Content-Type': 'text/plain',
'Access-Control-Allow-Origin': '*' // implementation of CORS
});
req.on('data', function (chunk) {
console.log('GOT DATA!');
});
res.end('{"msg": "OK"}');
}).listen(8080, '172.0.0.1');
console.log('Server running at http://172.0.0.1:8080/');
在客户端我首先尝试了这个:
var request = new XMLHttpRequest();
request.open('POST', cookie); // cookie is the text that i would like to transfer
request.setRequestHeader('Content-Type', 'text/*;charset=utf-8');
request.send(cookie);
然后这个:
$.ajax({
type: 'POST',
url: 'http://172.0.0.1',
data: '{"data": cookie}', // cookie = my text
crossDomain: true,
success: function (data) {
var ret = jQuery.parseJSON(data);
console.log(ret.msg);
},
error: function (xhr, status, error) {
console.log('Error: ' + error.message);
console.log('Error connecting to the server.');
}
});
问题是No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.
如果我在浏览器中呼叫服务器,我会得到{" msg":" OK"}。这很好,但是如何在node.js代码中找到我的cookie文本。
我是这个node.js,ajax - world的新手。也许只有一小部分缺失。