我正在制作一个GUI,服务器必须准确知道UI所处的状态。因此,我在每个onclick
和每个change
发送一个POST请求。我的用户界面在Linux和Windows上的Chrome上运行正常 - 就是它只向我的烧瓶服务器发送一堆POST,它处理数据并返回空白响应return ('', 204)
。 UI仍然保持在同一页面上,因此ui仍然可见。但ios上的safari表现不同,当我做任何触发POST更新的事情时,它会发送帖子,然后尝试将浏览器位置移动到POST URL的192.168.1.1/query?arg=value
,并尝试呈现空白响应我在一个白页。为什么会这样?
function post(path) {
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", path)
document.body.appendChild(form);
form.submit();
}
javascript(type=text
是一个名为 jQuery Knob 的jQuery旋转拨号盘)
<input type="text" class="dial" value="0" id="myRange"><br /><br />
<button id="myButton" onclick="(function() { post('/query?arg1=1234'); })();">PUSH ME</button>
<script>
$(".dial").knob({
'min':0,
'max':100,
'fgColor':"#66CC66",
'angleOffset':-125,
'angleArc':250,
'rotation':"clockwise",
'change': function(v) { post('/slider?value='+Math.round(v)); }
});
</script>
理想情况下,我希望iOS浏览器的行为方式与桌面上的Chrome相同。感谢您的意见和帮助。
答案 0 :(得分:0)
我使用了Ajax jQuery.post()
并解决了它。