2014-02-10 83 views
0

已知Javascript和SQL數據庫之間的交互不是很安全。但是大多數網站使用它會導致網站重新加載以顯示搜索中的匹配。使用Javascript在網站中搜索功能的正確方法是什麼?

使用PHP無法在沒有完全頁面刷新的情況下更改頁面內容。

女巫是正確的方式來從JavaScript獲取數據的SQL沒有安全忽略。 特定於在列表中直接匹配的搜索功能。

+0

嘗試阿賈克斯.................... – Dinesh

+0

使用AJAX來獲取從SQL Server和顯示器響應無需重新加載 –

回答

1

您可以使用2種方法從js獲取數據;

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. WebSockets的

在AJAX,你每5秒被請求得到更新來自服務器的內容。想想,你沒有得到內容服務器推送更新的內容給你。換句話說,服務器通知您任何更新的數據。您可以查看Socket.io,獲取websockets的示例實現。當服務器通知你,你可以把數據和相關的html區域

0

正如在評論中提到的,最好的方法是使用AJAX,這是一個代表異步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 
}); 
相關問題