Javascript / jquery get()在移动浏览器上不起作用(调用node-red,node.js)

我一直在黑客周围试图解决这个问题,所以最终破解并问了一个问题:

我的设置是运行Apache和IBM的Node-Red的Raspberry Pi 2。 我使用Apache来提供一个简单的网页,调用Node-Red启动一个stream程(在这种情况下,通过Open Zwave打开和closures灯光)。

以下解决scheme适用于桌面浏览器(firefox / IE 11),但不适用于移动浏览器(WP8.1和Android浏览器上的IE)。 然而,代码触发移动浏览器的“警报”,而不是$.get()任何想法?

请注意,我使用了两种不同的方法调用目标,一个是正确的JSON ,另一个是string。 两者都可以在桌面浏览器上运行,都无法使用移动浏览器。

标题:

 <meta http-equiv="X-UA-Compatible" content="IE=10; IE=11; IE=edge"/> <script type="text/javascript" src="./js/jquery-2.1.4.min.js"></script> 

脚本部分:

  <script> // Wait until the page is loaded so that all the IDs are setup $(document).ready(function(){ $('img').click(function(){ switch ($(this).attr('id')) { case 'node-3-on': $.get("http://node-red:1880/setValueBinary.html", {nodeid:"3", value:"1"}); alert ("node 3 on"); break; case 'node-3-off': // alert ("node 3 off"); $.get('http://node-red:1880/setValueBinary.html?nodeid=3&value=0'); break; // removed further case statements default: alert ("You shouldn't see this, some sort of error has happened."); }; }); }); </script> 

HTML:

 <p><b>Switch 3:</b></p> <p> <img src="images/green-tick.png" id="node-3-on" alt="Switch On" height="100" width="100" /> <img src="images/red-cross.png" id="node-3-off" alt="Switch Off" width="100" height="100"/></p> 

在一位同事的build议下,我安装了Chrome,并将其设置为在我的Android手机上进行远程debugging。

https://developer.chrome.com/devtools/docs/remote-debugging

事实certificate,问题是由于某种原因桌面/笔记本电脑/平板电脑设备可以解决树莓派的短名称,但手机不能。 这是使用相同的DHCP和DNS服务器。 我浏览了代码,并将FQDN添加到所有url,现在一切正常。

我有点高兴,有点生气。

感谢你的帮助。