将数据从chrome扩展发送到Node.js

时间:2017-09-03 18:04:28

标签: javascript jquery node.js ajax google-chrome-extension

我创建了一个简单的Chrome扩展程序,可以在我的content_script中的某些Z网页上存储所有点击。所以,我想知道一种方法将这些数据(json)发送到我的node.js文件(比方说/ start)。

到底怎么回事?从通过ajax从扩展发送数据并在我的/ start router js文件中接收这些数据开始?

任何帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:1)

如果有人陷入同样的​​障碍,我找到了解决问题的方法。

基本上,我通过chrome运行时消息将我的content_script(js文件)中的数据发送到我的扩展的后台(js文件)。现在必须在清单中定义后台文件,它基本上是一个在后台运行的文件。 从这里开始,我从background.js到我的localhost服务器进行了一次Web API调用(XMLHttpRequest),并使其成为POST函数。

var xj = new XMLHttpRequest();
xj.open("POST", "http://localhost:3000/log", true);
xj.setRequestHeader("Content-Type", "application/json");
xj.send(JSON.stringify({ action: <your data>}));
xj.onreadystatechange = function () { if (xj.readyState == 4) { console.log(xj.responseText); } }

现在,在我的node.js索引页面中,我在Post函数中捕获发送请求

router.post('/log', function(req, res, next){
     console.log(req.body) //Your data from the extension
});