【问题标题】:Direct link to Ajax search results直接链接到 Ajax 搜索结果
【发布时间】:2011-03-20 11:06:14
【问题描述】:

目前用户可以使用 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); 

}

【问题讨论】:

    标签: php database ajax


    【解决方案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];
        }
      }
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-27
      • 2018-11-15
      • 1970-01-01
      相关资源
      最近更新 更多