直接链接到 Ajax 搜索结果
Posted
技术标签:
【中文标题】直接链接到 Ajax 搜索结果【英文标题】:Direct link to Ajax search results 【发布时间】: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);
【问题讨论】:
【参考方案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];
【讨论】:
以上是关于直接链接到 Ajax 搜索结果的主要内容,如果未能解决你的问题,请参考以下文章