使用ajax技术第一次传过去的值都是空的,求大神指教!

图片说明

 <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>ajax实现自动完成</title>
        <!-- css样式 -->
        <style type="text/css">
            #div{
                margin-left: 225px; 
            }
        </style>

        <script type="text/javascript" src="js/getXhr.js"></script>
        <script type="text/javascript">
            window.onload=function(){
                $('text').onkeydown=function(){
                    //获取xhr
                    var xhr = getXhr();
                    var msg = $('text');
                    xhr.open("GET","/Day11/AjaxServlet6?message="+msg.value,"true");
                    //建立连接,发送数据
                    xhr.onreadystatechange=function(){
                        if(xhr.readyState==4){
                            if(xhr.status==200){
                                //将结果转换成数组
                                var arr = eval("("+xhr.responseText+")");
                                var div = $('div');
                                //将后台返回的结果写到div里面去
                                for(var i=0;i<arr.length;i++){
                                    var child = document.createElement("div");
                                    div.appendChild(child);
                                    child.innerHTML=arr[i].message;
                                }
                            }
                        }
                    }
                    xhr.send(null);
                }
            }

            /*
            * 当失去焦点时,将div里面的值清空掉
            */
            function loseFocus(){
                $('div').innerHTML="";
            }
        </script>
    </head>
    <body>
        使用ajax技术实现自动完成功能<input type="text" id="text" onblur="loseFocus()" /><br />
        <div id="div"></div>
    </body>
</html>

第一次text肯定没值啊。。你要判断有值了才发送ajax请求

                 $('text').onkeydown=function(){
                    //获取xhr
                    var xhr = getXhr();
                    var msg = $('text');
                                        if(msg.value=='')return;////////////////
                    xhr.open("GET","/Day11/AjaxServlet6?message="+msg.value,"true");