我创建了一个简单的Chrome扩展程序,可以在我的content_script中的某些Z网页上存储所有点击。所以,我想知道一种方法将这些数据(json)发送到我的node.js文件(比方说/ start)。
到底怎么回事?从通过ajax从扩展发送数据并在我的/ start router js文件中接收这些数据开始?
任何帮助表示赞赏。感谢。
答案 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
});