使用Javascript在网站中搜索功能的正确方法是什么?

时间:2014-02-10 13:48:38

标签: javascript php mysql search data-transfer

众所周知,Javascript和SQL数据库之间的交互不是很安全。但是大多数网站使用它会导致Webside doesent重新加载以在搜索中显示匹配。

使用PHP,如果没有完全页面刷新,则无法更改页面内容。

Witch是使用Javascript从SQL获取数据而没有安全性忽略的正确方法。 Aspeccialy用于在列表中直接匹配的搜索功能。

2 个答案:

答案 0 :(得分:1)

您可以使用2种方法通过使用js;

从db获取数据

<强> 1。 Ajax的:

function refresh() {
    $.ajax({
        url:"your url",
        method: "GET",
        data: your_params,
        success: function(response) {
            $("#specific_div_id").html(response);
        }
    });
}

您可以在像<; p>这样的时间间隔内执行此操作

setInterval(refresh, 5000); 

每5秒获取一次内容。

<强> 2。的WebSockets

在AJAX中,您每隔5秒请求从服务器获取更新的内容。您可以认为,您没有获得内容服务器向您推送更新的内容。换句话说,服务器会通知您任何更新的数据。您可以查看Socket.io以获取websockets的示例实现。当服务器通知您时,您可以获取数据并将其与相关的html区域

相关联

答案 1 :(得分:0)

正如评论中所提到的,最好的方法是使用AJAX,它是Asynchronous Javascript和XML的首字母缩写。 最后一部分,XML,有点误导。它保留了这个名称,因为这是第一次使用的。但是AJAX现在可以用来发出HTTP请求和任何语言的接口,包括PHP。

根据您构建的技术,有几种可用的实现方式。有可能你已经安装了jQuery。在这种情况下,jQuery Ajax,尤其是jQuery.get()会解决您的问题。

如果您在后端使用路由器,则只需调用路由,将其指定为该功能的第一个参数url。否则,您可以使用嵌入javascript的html页面中的相对路径直接调用文件。 jQuery.get将返回您在服务器脚本中echo的任何内容。换句话说,任何直接在页面上呈现的内容。您可以使用回调捕获返回的数据并对其进行处理。 示例:

$.get('/path/to/file.php', function (data) {
    console.log('Here is the data received from the server!', data)
    // Process data here
});