如何使用散列进行实时搜索? 现在我有一个简单的jQuery搜索:jquery搜索和散列
$(function(){
/// Start searching
$("form#search-form").submit(function(e){
var hash = 'q=' + encodeURI(document.getElementById('q').value);
window.location.hash = hash;
e.preventDefault();
$("#results").fadeOut();
$.ajax({
type:"GET",
data: $(this).serialize(),
url: "search.php",
success: function(msg){
$("#results").html(msg).fadeIn();
}
});
});
});
正如你看到的,我已经在这里
var hash = 'q=' + encodeURI(document.getElementById('q').value);
window.location.hash = hash;
加入到在哈希搜索输入。所以我的想法是输入“http:// url /#q = word”,并得到“word”的结果。目前,我的“散列函数”是无用的,它什么都不执行 - 只是增加了地址栏的价值。我怎么能让jquery以这种方式执行?
我尝试添加
if (window.location.hash != "") {
}
,但它并不能帮助。或者我曾经错误地做过。
感谢您的回答。但就我而言,这种火箭科学根本行不通。我有这样的错误:未定义的索引:search _and_ language - 它是'$ search'和'$ language'行。用'echo $ _POST ['data']'获得'{\“search \”:\“word \”,\“lang \”:\“Engl \”}'; – zmogusnamas 2012-07-29 16:44:53
尝试'print_r($ data);'在我的第一行之后。它返回什么? – Kir 2012-07-29 16:51:49
我的老search.php看起来像这样:http://pastebin.com/uHN9ajaE正如你所说我添加了:'$ data =(array)json_decode($ _ POST ['data']);' '$ search = $ data''search'];' '$ language = $ data ['language'];'并且没有“空白搜索” '$ var = $ data ['search'];'之后我替换了$ search_term' with'$ search' – zmogusnamas 2012-07-29 16:53:02