您好!
在尝试使用传感器的主机名访问我的传感器时、我遇到了 CORS 策略错误、具体来说就是 http://vmedd-ah0002”。 我收到的错误消息是:
从源站"http://vmedd-ah0002'已被 CORS 策略阻止:请求的资源上不存在'Access-Control-Allow-Origin'标头"获取地址为'192.168.188.71/index.html'(重定向自'vmedd-ah0002/.../set_mode')。 如果不透明响应满足您的需求,请将请求的模式设置为"无卷",以在禁用 CORS 的情况下获取资源。"
有趣的是、当我使用其 IP 地址"192.168.188.71"直接访问传感器时、不会出现此问题。 我已确定器件令牌__SL_P_S。 R 似乎是这个问题的核心。 每当通过_SL_P_S 进行重定向时、似乎会发生这种情况。 R 令牌、它始终使用 IP 地址进行重定向。 相反、如果我省略__ SL_P_S。 R 令牌并便于使用 JavaScript 重定向、不会发生 CORS 错误。
下面是我一直使用的代码片段:
<form method="POST" name="SimpleLink Configuration" action="api/1/wlan/set_mode" enctype="application/x-www-form-urlencoded" > <input type="hidden" name="__SL_P_S.R" value="index.html" /> <div class="form-check"> <input type="radio" class="form-check-input" id="radio1" name="__SL_P_S.D" value="Station" checked /> <label class="form-check-label" for="radio1">Station</label> </div> <div class="form-check"> <input type="radio" class="form-check-input" id="radio2" name="__SL_P_S.D" value="AP" /> <label class="form-check-label mb-3" for="radio2">Access Point</label> </div> <button type="submit" class="btn btn-primary">Apply Mode</button> </form>
我很想了解为什么通过主机名访问传感器会导致 CORS 错误、而使用 IP 地址不会触发同样的问题。 对于解决这一奇怪问题的任何见解或建议、我们将不胜感激。
谢谢!