Javascript AJAX还是socket.io?
我目前正在制作一个脚本,其工作原理如下: 单击按钮时,按钮旁边的旋钮应插入一个值。这必须实时完成。 所以,现在我想知道我应该用什么来做这个。我做了一些研究,提出了ajax或socket.io,但哪个更好 一些代码:Javascript AJAX还是socket.io?,javascript,jquery,ajax,sockets,websocket,socket.io,Javascript,Jquery,Ajax,Sockets,Websocket,Socket.io,我目前正在制作一个脚本,其工作原理如下: 单击按钮时,按钮旁边的旋钮应插入一个值。这必须实时完成。 所以,现在我想知道我应该用什么来做这个。我做了一些研究,提出了ajax或socket.io,但哪个更好 一些代码: <input class="knob" value="0" readonly data-width="80%"> <div class="button"> <a class="md-btn md-btn-success">Click me<
<input class="knob" value="0" readonly data-width="80%">
<div class="button">
<a class="md-btn md-btn-success">Click me</a>
</div>
点击我
旋钮动画:
<input class="knob animated" value="0" readonly data-width="80%" rel="<?php echo $number; ?>">
<script>
$('.knob').each(function () {
var $this = $(this);
var myVal = $this.attr("rel");
$this.knob({});
$({
value: 0
}).animate({
value: myVal
}, {
duration: 2000,
easing: 'swing',
step: function () {
$this.val(Math.ceil(this.value)).trigger('change');
}
})
});
</script>
答案:
使用Smart,您可以尝试实时模拟。否则就是出路
根据我回答中的一条评论,您可能对Javascript框架感兴趣
从
WebSockets是一种先进的技术,它使打开
用户浏览器与服务器之间的交互式通信会话
服务器。使用此API,您可以向服务器发送消息并接收消息
事件驱动的响应,而无需轮询服务器以获得答复
看看这个例子,它一定会帮助你开始
var wsUri=“ws://echo.websocket.org/”;
var输出;
函数init(){
输出=document.getElementById(“输出”);
testWebSocket();
}
函数testWebSocket(){
websocket=新的websocket(wsUri);
websocket.onopen=函数(evt){
onOpen(evt)
};
websocket.onclose=函数(evt){
onClose(evt)
};
websocket.onmessage=函数(evt){
onMessage(evt)
};
websocket.onerror=函数(evt){
onError(evt)
};
}
功能开启(evt){
写屏(“连接”);
doSend(“网岩”);
}
函数onClose(evt){
写屏(“断开”);
}
消息函数(evt){
writeToScreen('响应:'+evt.data+'');
websocket.close();
}
函数onError(evt){
writeToScreen('错误:'+evt.data);
}
函数doSend(消息){
writeToScreen(“已发送:+消息”);
发送(消息);
}
功能写入屏幕(消息){
var pre=document.createElement(“p”);
pre.style.wordWrap=“断开单词”;
pre.innerHTML=消息;
输出.appendChild(pre);
}
addEventListener(“加载”,init,false)代码>
WebSocket测试
var wsUri=“ws://echo.websocket.org/”;
var输出;
函数init(){
输出=document.getElementById(“输出”);
testWebSocket();
}
函数testWebSocket(){
websocket=新的websocket(wsUri);
websocket.onopen=函数(evt){
onOpen(evt)
};
websocket.onclose=函数(evt){
onClose(evt)
};
websocket.onmessage=函数(evt){
onMessage(evt)
};
websocket.onerror=函数(evt){
onError(evt)
};
}
功能开启(evt){
写屏(“连接”);
doSend(“网岩”);
}
函数onClose(evt){
写屏(“断开”);
}
消息函数(evt){
writeToScreen('响应:'+evt.data+'');
websocket.close();
}
函数onError(evt){
writeToScreen('错误:'+evt.data);
}
函数doSend(消息){
writeToScreen(“已发送:+消息”);
发送(消息);
}
功能写入屏幕(消息){
var pre=document.createElement(“p”);
pre.style.wordWrap=“断开单词”;
pre.innerHTML=消息;
输出.appendChild(pre);
}
addEventListener(“加载”,init,false)代码>
WebSocket测试
你知道socket.io是WebSocket的高级抽象,WebSocket具有自动回退到长轮询(comet)的功能,不是吗?我不确定我会推荐socket.io(或一般的socket)给有PHP代码的人…@dandavis,我在这里或标签中没有看到任何PHP代码,可能你需要一个更大的屏幕,它被部分切断;)“>
是的,你可以用php做websockets,但有消息告诉我OP很难让它工作…@dandavis,啊:D——我很好奇你为什么不推荐sockets。如果你想在聊天中解释一下,我很乐意帮你想想