我们的 Web 应用程序有一个按钮,该按钮应该将数据发送到本地网络上的服务器,然后再在打印机上打印一些东西。
到目前为止,这很容易:该按钮触发了一个http://printerserver/print.php
带有令牌的 AJAX POST 请求,该页面连接到 Web 应用程序以验证令牌并获取要打印的数据,然后打印。
但是,我们现在通过 HTTPs 交付我们的 Web 应用程序(我不想为此返回 HTTP),并且较新版本的 Chrome 和 Firefox 不再向 HTTP 地址发出请求,它们甚至不发送请求检查 CORS 标头。
现在,跨协议 XHR 的现代替代方案是什么?Websockets 也有同样的问题吗?(谷歌搜索并没有弄清楚这里的当前状态。)我可以使用 TCP 套接字了吗?我也不想切换到 GET 请求,因为该操作不是幂等的,它可能对预加载和缓存有实际影响。
我可以以任何方式更改打印机服务器上的应用程序(所以我可以用 NodeJS 或其他东西替换它),但我不能更改用户的浏览器(例如,信任打印机服务器的自签名证书)。