[英]What is the right way for Searching functions in a Website with Javascript?
众所周知,JavaScript与SQL数据库之间的交互不是很安全。 但是大多数网站使用它会导致Webside重新加载以在搜索中显示匹配项。
使用PHP,如果没有完全的页面刷新就无法更改页面内容。
Witch是使用Java脚本从SQL中获取数据而又不忽略安全性的正确方法。 专门用于列表中直接匹配的“搜索”功能。
您可以使用2种方式通过js从db获取数据;
1. Ajax:
function refresh() {
$.ajax({
url:"your url",
method: "GET",
data: your_params,
success: function(response) {
$("#specific_div_id").html(response);
}
});
}
您可以在类似的时间间隔内执行此操作;
setInterval(refresh, 5000);
为了每5秒获得内容。
2. Websockets
在AJAX中,您每5秒请求从服务器获取更新的内容。 认为,您没有让内容服务器将更新的内容推送给您。 换句话说,服务器会通知您任何更新的数据。 您可以在Socket.io中查看websockets的示例实现。 当服务器通知您时,您可以获取数据并将其放入相关的html区域
正如评论中提到的,最好的方法是使用AJAX,它是异步Javascript和XML的缩写。 最后一部分,XML,有点误导。 它之所以保留该名称,是因为这是最初的用途。 但是现在可以使用AJAX发出HTTP请求并与任何语言(包括PHP)进行接口。
根据您所使用的技术,有几种可用的实现。 您可能已经安装了jQuery。 在这种情况下, jQuery Ajax ,尤其是jQuery.get()将解决您的问题。
如果您在后端使用路由器,则可以简单地调用路由,将其指定为该函数的第一个参数url。 否则,你可以直接使用从HTML页面的JavaScript嵌入在相对路径调用文件。jQuery.get将返回任何你echo
你的服务器脚本中。 换句话说,任何直接呈现在页面上的东西。 您可以使用回调捕获返回的数据并进行处理。 范例:
$.get('/path/to/file.php', function (data) {
console.log('Here is the data received from the server!', data)
// Process data here
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.