我的目标是设计一个具有自动完成字段的小网站,该字段将从服务器的数据库(Node.js + MySQL)中获取建议。
当用户在字段中键入值时,我可以使用哪些方法来实现客户机-服务器通信。我正在寻找比编写自己的AJAX请求更大的东西,但比像Angular这样的框架更容易。
我使用相同的NodeJS + MySQL设置。
如果你已经有了你的应用程序,我建议安装socket.io
。否则,看看Express.IO
,这是一个使用Socket进行NodeJS开发的框架。IO集成在里面。
Websockets让AJAX看起来很傻!
在NodeJS中,您在客户端监听io.emit("someEvent", {object-data-here});
,并在服务器端使用app.io.route("someEvent", function(request,response) {});
路由它
不要复制粘贴,但是为keyUp
事件触发套接字是很容易的。
var input = document.getElementById("inputfield");
input.addEventListener("keyUp", function() {
io.emit("aKeyWasPressed", {value:this.value}); //on key up, send input value to Node
}, false); //false for bubbling event
看看jQuery $.ajax()方法。http://api.jquery.com/jquery.ajax/
您可以使用jquery-ui autocomplete来实现自动完成功能。http://jqueryui.com/autocomplete/