我有新发布的 Philips Hue 桥,我试图通过向它发送 JSON 请求从浏览器控制它。我正在使用第三方“助手”api 只是为了让事情变得更容易一些——但这与哪一个无关,因为它下面只是发送一个常规的 PUT 请求。我只是使用 Chrome 在本地(在本地网络服务器上)运行 JS。
输入http://192.168.1.86/api/2e51aa2362f1a416d8eab4816b669eb/lights/16/state
{ on: true }
问题是我收到以下 CORS 错误:
XMLHttpRequest 无法加载http://192.168.1.86/api。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://example.com ”。
这是完全有道理的——而且我理解正在做什么——毕竟我试图向远程服务器发出 PUT 请求,结果我的浏览器禁止了我。但是我显然无法更改集线器上的代码。
有什么解决办法吗?我看到不久前飞利浦需要在他们自己的网站上做类似的事情以允许跨域访问。
我可以在那里找到很少的信息——而且我不确定飞利浦最近是否改变了一些东西。第三方 JS APIS 甚至没有提到这一点的事实让我相信飞利浦可能已经改变了一些东西(我发现第三方 webapp也有同样的问题)。
编辑:
这些是返回的标题:
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Expires: Mon, 1 Aug 2011 09:00:00 GMT
Connection: close
Access-Control-Max-Age: 3600
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE, HEAD
Access-Control-Allow-Headers: Content-Type
Content-type: text/html
Content-Length: 0