繁体   English   中英

用Java搜索网站功能的正确方法是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM