javascript - 不允许 HTTP 405 方法,似乎是 CORS 问题

标签 javascript ajax printing cors

从我的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/

相关文章:

javascript - 我可以在asp.net-mvc中加载带有partialView的javascript文件吗?

javascript - 使用 Web API 的纯前端 JavaScript 与使用 ajax 的 MVC View

android - 在android中打印现有的pdf文件

java - Java Web 应用程序上的打印服务

c - 用for循环编程C打印一维数组

javascript - 从文件中抓取随机行

javascript - 如何在聚合中组合相似的项目?

javascript - 如何全局或从一个点管理 axios 错误

javascript - 使用 jQuery 成功刷新 DIV

javascript - 为什么我的浏览器中没有显示警报?