【问题标题】:What is the right way for Searching functions in a Website with Javascript?使用 Javascript 在网站中搜索功能的正确方法是什么?
【发布时间】:2014-03-07 21:19:30
【问题描述】:

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

使用 PHP,如果没有完全刷新页面,就不可能更改页面内容。

Witch 是使用 Javascript 从 SQL 获取数据的正确方法,无需忽略安全性。 特别适用于在列表中直接匹配的搜索功能。

【问题讨论】:

  • 试试 Ajax .....
  • 使用ajax从sql server获取响应并显示而无需重新加载

标签: javascript php mysql search data-transfer


【解决方案1】:

你可以通过两种方式通过js从db中获取数据;

1.阿贾克斯:

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

您可以在这样的间隔内执行此操作;

setInterval(refresh, 5000); 

为了每 5 秒获取一次内容。

2。网络套接字

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

【讨论】:

    【解决方案2】:

    正如评论中提到的,最好的方法是使用 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
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-11
      • 1970-01-01
      • 2014-08-25
      • 1970-01-01
      • 2021-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多