从我的Javascript程序请求此URL(具有库epson-2.6.0.js
,用于热敏打印机javascript的epson sdk)。我的目标是通过以太网的 TM U220。
GET XHR http://192.168.199.15:8008/socket.io/1/
OPTIONS XHR http://192.168.199.15/cgi-bin/epos/service.cgi [HTTP/1.1 405 Method Not Allowed 7ms]
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://192.168.199.15/cgi-bin/epos/service.cgi?devid=local_printer&timeout=10000. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
响应 header (118 B)
Allow GET, HEAD, POST
Content-Length 0
Server Allegro-Software-RomPager/4.01
请求 header (478 B)
Accept text/html,application/xhtml+xm…plication/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en
Access-Control-Request-Headers content-type,if-modified-since,soapaction
Access-Control-Request-Method POST
Connection keep-alive
DNT 1
Host 192.168.199.15
Origin null
User-Agent Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/58.0
我一直在互联网上搜索如何解决这个问题。 请有人帮忙。我无法更改 http 服务器的打印机固件,只能通过我控制的 Javascript 执行某些操作。
最佳答案
您需要启用 ePos Web 服务。
使用提供的可执行实用程序无法完成此操作。 一旦您的打印机使用有效的本地 IP 连接到网络,您需要浏览 http://192.168.199.15 (或者无论您的爱普生打印机 IP 是什么)使用您常用的浏览器,它会要求您输入用户密码,默认为 epson/epson 或 epson/printer serialNb 然后您需要导航到 ePos print,然后启用 ePos Print 选项,最后单击下面的重新启动按钮。 然后打印机将在 HTTP 响应 header 中添加一个 Allow-Cross-Origin * header ,这很好,并且无需禁用有用的浏览器功能。
关于javascript - 不允许 HTTP 405 方法,似乎是 CORS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48483677/