2010-07-24 96 views
2

當前用戶可以使用php和ajax搜索數據庫,並顯示結果而不刷新頁面。直接鏈接到Ajax搜索結果

這需要用戶輸入搜索條件 - 是否可以通過在URL中包含條件來創建到搜索結果的直接鏈接?

例如:

search.php中的關鍵字= iphone

將帶回的iPhone的任何結果,而不需要用戶輸入搜索條件。

我的AJAX代碼如下:

function ajaxFunction(){ 
var ajaxRequest; // The variable that makes Ajax possible! 

try{ 
    // Opera 8.0+, Firefox, Safari 
    ajaxRequest = new XMLHttpRequest(); 
} catch (e){ 
    // Internet Explorer Browsers 
    try{ 
     ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     try{ 
      ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (e){ 
      // Something went wrong 
      alert("Your browser broke!"); 
      return false; 
     } 
    } 
} 
// Create a function that will receive data sent from the server 
ajaxRequest.onreadystatechange = function(){ 
    if(ajaxRequest.readyState == 4){ 
     var ajaxDisplay = document.getElementById('ajaxDiv'); 
     ajaxDisplay.innerHTML = ajaxRequest.responseText; 
    } 
} 
var kw = document.getElementById('kw').value; 
var division = document.getElementById('division').value; 
var queryString = "?kw=" + kw + "&division=" + division; 
ajaxRequest.open("GET", "search/jsearch.php" + queryString, true); 
ajaxRequest.send(null); 

}

回答

1

你基本上檢查URL包含keywords查詢字符串變量,如果是這樣,你打電話給你的AJAX功能,試試這個:

window.onload = function(){ 
    if (getQueryVariable('keywords')) 
    { 
     var kw = getQueryVariable('keywords'); 
     ajaxFunction(kw); 
    } 
}; 

您需要修改您的ajaxFunction才能接受來自url的參數。這裏是一個函數,以獲得查詢字符串變量使用javascript:

getQueryVariable(variable) { 
    var query = window.location.search.substring(1); 
    var vars = query.split("&"); 
    for (var i=0;i<vars.length;i++) { 
    var pair = vars[i].split("="); 
    if (pair[0] == variable) { 
     return pair[1]; 
    } 
    } 
} 
+0

這是可行的 - 非常感謝你。 – Haribo83 2010-07-24 09:06:51

+0

@ haribo83:不客氣 – Sarfraz 2010-07-24 09:08:04