有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用ajax时java搜索数据库不工作

我在数据库中使用ajax进行实时搜索,JSP也可以作为我的服务器代码。但是当我试着运行应用程序时,搜索结果并没有显示出来。请问我的ajax代码有什么问题吗。 Ajax代码

function Search(){
    if (window.XMLHTTPRequest){

    xmlresults = new XMLHttRequest();    
 }else{
     xmlresults = new ActiveXObject('Microsoft.XMLHTTP');
 }
 xmlresults.onreadystatechange = function (){
     if(xmlresults.readyState == 4 && xmlresults.status == 200){

         document.getElementById('searchResults').innerHTML = xmlresults.responseText;
     }
 }
 xmlresults.open('GET','searchR.jsp?seb='+ document.form1.seb.value,true);
 xmlresults.send();

}

JSP代码,根据搜索框中输入的内容查询数据库。声明变量并导入java后,尝试下面的catch代码。sql.*包裹

try{
          Class.forName("com.mysql.jdbc.Driver");
          con = DriverManager.getConnection("jdbc:mysql://localhost/search","root","root");

            query = "select * from result";
          // query = "select * from result where seb like '"+seb+"%'";
          ps = con.prepareStatement(query);
          rs = ps.executeQuery();

          if(rs.next()){
           %>
           <div >
               <%=rs.getString("seb")%>
           </div>     
       <%    
           }

    }catch(Exception e){
       out.println("Error "+e);
    }
%>

显示搜索查询的页面。我正在使用form元素

<form name="form1"  id="form1" method="GET">
        <table width="638" height="38" border="0">
          <tr>
            <td><span id="sprytextfield1">
              <input name="seb" type="text" id="seb" size="75" autocomplete="on" placeholder="Enter into Search box" style="line-height: 25px; font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; font-weight: 700; font-size: 15px; border-radius: 9px; box-shadow: #F3F3F3 0.1em 0.1em 0.3em 0.1em; border-color: #F5F5F5;" onKeyUp="Search();">
            <span class="textfieldRequiredMsg">A value is required.</span></span>              <input type="submit" name="Search" id="Search" value="Search" style="height:30px;"></td>
          </tr>
        </table>
        </form>
         <table width="588" border="0">
            <div id="searchResults">

            </div>
        </table>

请注意,查询数据库的JSP代码的名称是searchR。jsp也是在ajax代码中指定/调用的,文本字段的id是seb,输入到搜索文本字段后显示的div标记的id是searchResults,它也在ajax代码中使用。我希望它是清楚的,我的错误可以指出给我。谢谢


共 (0) 个答案