如何将一些文本从浏览器javascript发送到node.js代码(不在浏览器中)?

时间:2018-01-24 14:23:20

标签: javascript html node.js ajax cookies

我认为这不是最困难的问题,但我无法解决。 我有一些HTML,CSS和JavaScript代码。在html页面上,用户可以在搜索字段中输入数字。我的目标是在我的node.js代码中使用这个数字来做更多的事情。

到目前为止我的想法:

  • 创建一个cookie:工作正常,直到我不得不以某种方式得到我的 node.js代码
  • browserify:由于安全原因无法正常工作

比我尝试了以下内容:

在服务器端:

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的新手。也许只有一小部分缺失。

0 个答案:

没有答案