这是关于可能的问题的更多问题。
我正在使用tampermonkey从工作中使用的网站上删除表格。它正在帮助我管理机票和相关物品。目前,我正在使用tampermoneky在同一页面上显示数字(例如票数,严重程度,里程碑等)。目前,我正在单独的页面上工作,因为我可以在它上面做更多的事情,但是我在与该页面进行通信时遇到了问题。
我当时想我可能每分钟将数组发送到node.js服务器,并且一旦该数组在节点上,我就可以从那里取出它并开始进行处理。
当前我正在使用json文件,因为我想检查所有数学运算是否正确。但是我需要手动进行。我是否可以从tampermonkey将此阵列发送到节点服务器?
答案 0 :(得分:1)
是的,这是可能的。
首先确保你的nodejs服务器的URL在@connect列表中
// @connect example.com
其次,确保您授予 GM_xmlhttpRequest
// @grant GM_xmlhttpRequest
之后,通过 POST 请求将数据发送到您的服务器将非常简单:
const scrapedData = {
'item1': value1,
'item2': value2
}
GM_xmlhttpRequest ({
method: 'POST',
url: 'example.com/api',
headers: { "Content-Type": "application/json" },
data: JSON.stringify(scrapedData)
)}
在您的 nodejs server.js 文件(或其他任何文件)中包含 body-parser
const bodyParser = require('body-parser')
const jsonParser = bodyParser.json()
const urlencodedParser = bodyParser.urlencoded({ extended: false })
并设置路由来处理 POST
app.post('/api', jsonParser, function (request, response) {
const data = request.body
console.log(data)
})
当然,在安全性、错误处理和其他方面,您可以做很多事情,但这应该能让您入门。