我开发了一个chrome扩展程序,用于读取HTML内容并将其解析为CSV文件。 这部分很好用,用户可以下载文件。
此时我想做的是找到一种将数据直接发送到MySQL数据库的方法。
我知道Chrome扩展程序无法运行PHP(显然)。但我可以访问托管的Web服务器,我可以上传自定义的PHP脚本。
有没有办法将我的解析数据直接发送到托管的PHP脚本,该脚本将处理数据,然后将数据发送到同一服务器上的MySQL数据库?
到目前为止我研究的所有内容都导致“chrome扩展无法运行PHP脚本”。 。
感谢您的帮助!
编辑:我想到的一个选项是使用我的数据值注入HTML隐藏字段,然后使用javascript将数据发布到PHP URL。 。 。 。这是一个选择吗? Chrome扩展可以注入隐藏字段吗?
答案 0 :(得分:3)
您绝对可以从Chrome扩展程序向服务器发出POST方法HTTP请求。它不需要任何类型的黑客来实现这一目标。使用本机JavaScript,使用“POST”方法到XMLHttpRequest或使用像jQuery这样的库只需发出$.post
请求。
有几件事:
您将要使用HTTPS,因此请获取服务器/域的SSL证书。如果您正在解析受HTTPS保护的页面上的任何类型的网站内容,并以明文形式将其发送到您自己的服务器,那么您正在做一件非常糟糕的事情。不要这样做。
确保告诉用户您正在执行此操作。一些/大多数人可能不希望这样。
使用内容脚本从DOM中获取内容。使用postMessage消息传递将其传递到扩展后台脚本。
从后台脚本发出POST请求。
您需要更新manifest.json以获得要将内容注入的URL的权限,以及向服务器域发出POST请求的权限。用户必须查看并批准这些权限,但他们不知道您在做什么,所以请务必告诉他们。