AJAX打造博客无刷新搜索

2019-09-14 07:35:51刘景俊

}


最后是搜索结果的显示:

ajaxsearch.js(part3)

function AjaxShowResult() {
    var results,i,strTemp;
    // 获取搜索结果集合
    results=xmlResult.getElementsByTagName("result");
    // 用无序列表来显示搜索结果
    strTemp="<ul>";
    // 首先判断搜索结果是否为空
    if(results[0].getElementsByTagName("logid")[0].firstChild.data=="#")
        // 是空,则显示没有符合的搜索结果
        strTemp=strTemp+"<li>无搜索结果</li>";
    else
        // 循环输出每个搜索结果
        for(i=0;i<results.length;i++)
            strTemp = strTemp + "<li><a href='blogview.asp?logID=" + results[i].getElementsByTagName("logid")[0].firstChild.data + "'>" + results[i].getElementsByTagName("logtitle")[0].firstChild.data + "</a></li>"; 
    strTemp=strTemp+"</ul>";
    // 显示搜索结果
    document.getElementById("search_result").innerHTML = strTemp
}


至此,一个完整的AJAX实例完成了。

几个经验:

页面使用UTF-8编码,这样可以省却很多烦恼 在获取搜索结果时,因为用的getElementsByTagName,返回的是一个集合,所以要在结果之后加上下标,如例子中的:
    results[0].getElementsByTagName("logid")[0].firstChild.data 建议使用document.getElementById()来获取对象,而不要使用document.all这样的方法

实例中三个文件打包下载:ajaxsearch.rar