Прямая ссылка на результаты поиска Ajax - PullRequest
2 голосов
/ 24 июля 2010

В настоящее время пользователи могут выполнять поиск в базе данных, используя php и ajax, результаты отображаются без обновления страницы.

Для этого требуется использование для ввода критериев поиска - возможно ли создать прямую ссылку на результаты поиска с помощьювключая критерии в URL?

Например:

search.php? Keywords = 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 Ответ

1 голос
/ 24 июля 2010

Вы в основном проверяете, содержит ли 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];
    }
  }
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...