如何使用AJAX执行搜索?

时间:2011-06-07 07:16:04

标签: javascript html ajax

我有以下HTML代码:

<table style="border: 1px solid #9f9f9f; float:right;">

                <tr>
                <td><label for="status">Search Status</td>
                <td><input type="text" id="status" name="status" dojoType="dijit.form.TextBox" size="40" value="Please enter search criteria"/></td>
                </tr>
                <tr>
                <td><label for="push">Push to start</td>
                <td><button dojoType="dijit.form.Button"  style="width: 4em" type="button" name="submitButton" value="Submit" onclick="loadContents()"></button></td>
                </tr></table>

我希望当用户在文本框和点击按钮中输入一些关键字时,会有一个Ajax调用来从我本地保存的简单txt文件中检索搜索结果。请指导我如何实现这一目标?我编写了loadContents方法,它只是检索txt文件内容,但我希望它基于搜索。 loadContents的示例代码:

<script type="text/javascript"> function loadContents() {var xmlhttp;
if (window.XMLHttpRequest)
  {xmlhttp=new XMLHttpRequest();
  }
else
  { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","content.txt",true);
xmlhttp.send();
}
</script>

1 个答案:

答案 0 :(得分:1)

听起来像JQuery's ajax methodsJQuery UI AutoComplete对你来说是件好事 - 没有必要重新发明轮子。 (你会发现它可以在更多浏览器中运行!!)

而不是直接将ajax请求发送到文本文件,而是将其转到服务器端页面(您还没有提到您正在使用的服务器端技术?) - 该页面应接受查询字符串参数用于搜索文本文件,仅将匹配结果返回给客户端。