2010-07-24 4 views
2

Actuellement, les utilisateurs peuvent rechercher une base de données en utilisant php et ajax avec les résultats affichés sans actualisation de la page. Cela nécessite des utilisations pour entrer un critère de recherche - est-il possible de créer un lien direct vers les résultats de la recherche en incluant les critères dans l'URL?Lien direct vers Ajax résultats de la recherche

Par exemple:

search.php mots-clés = iphone

ramènerait aucun résultat pour iphone sans que l'utilisateur d'entrer un critère de recherche.

Mon code ajax est ci-dessous:

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); 

}

Répondre

1

Vous vérifiez essentiellement si l'URL contient la variable chaîne de requête keywords et si oui, vous appelez votre fonction ajax, essayez ceci:

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

Vous devez modifier votre ajaxFunction pour accepter un argument de l'URL. Voici une fonction pour obtenir la variable de chaîne de requête en utilisant 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

Cela fonctionne - merci beaucoup. – Haribo83

+0

@ haribo83: Vous êtes les bienvenus ... – Sarfraz

Questions connexes