2013-11-28 3 views
1

여기서 설명하는대로 ajax를 사용하여 jsp에서 값을 검색하려고합니다. here. 하지만이AJAX에서 값 형식을 반환하지 않습니다.

홈 페이지

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
    <head> 
     <title>Jsp Page</title> 
     <script> 
      function showuser(str) 
      { 
       var xreq; 
       if (str == "") 
       { 
        document.getElementById("showtext").innerHTML = ""; 
        return; 
       } 
       if (window.XMLHttpRequest) 
       { 
        xreq = new XMLHttpRequest(); 
       } 
       else 
       { 
        xreq = new ActiveXObject("Microsoft.XMLHTTP"); 
       } 
       xreq.onreadystatechange = function() 
       { 
        if ((xreq.readyState == 4) && (xreq.status == 200)) 
        { 
         document.getElementById("showtext").innerHTML 
           = xreq.responseText; 

        } 
       } 
       xreq.open("get", "getuser.jsp?q=" + str, "true"); 
       xreq.send(); 

      } 
     </script> 
    </head> 
    <body> 
     <form> 
      <select name="user" onchange="showuser(this.value)" > 
       <option value="">Select Student name....</option> 
       <option value="abhi">abhi</option> 
       <option value="alex">alex</option> 
       <option value="adam">adam</option> 
      </select> 
     </form> 
     <br/> 
     <div id="showtext">The response will come here</div> 
    </body> 
</html> 

DB 연결 설정 페이지

<%@page import="java.text.SimpleDateFormat"%> 
<%@page import="java.util.*,java.sql.*,java.io.*" %> 
<%@page import="javax.servlet.*" %> 
<%@page import="javax.servlet.http.*" %> 

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>jsp Page</title> 
    </head> 
    <body> 
     <%! Connection con;%> 
     <%! Statement s;%> 
     <%! ResultSet rs;%> 

     <% String name = request.getParameter("st"); 

      try { 

       Class.forName("oracle.jdbc.driver.OracleDriver"); 
       con = DriverManager.getConnection("URL"); 
       s = con.createStatement(); 
       rs = s.executeQuery("select * from studentinfo where name='" + name + "'"); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     %> 

     <div id="dtl_table"><table border='3' cellpadding='5' 
            cellspacing='2' width="400px"> 
       <tr bgcolor="66FF00"> 
        <th>Name</th> 
        <th>Branch</th> 
        <th>Year</th> 
        <th>Email id</th> 
       </tr> 
       <tr> 
        <% while (rs.next()) { 
        %> 
        <td><%= rs.getString("NAME")%></td> 
        <td><%= rs.getString("BRANCH")%></td> 
        <td><%= rs.getString("YEAR")%></td> 
        <td><%= rs.getString("EMAIL")%></td> 
        <% }%> 
       </tr> 
      </table></div> 
    </body> 
</html> 

표 구조

CREATE TABLE studentinfo(
    name VARCHAR2(30), 
    branch VARCHAR2(20), 
    year VARCHAR2(20), 
    email VARCHAR2(80) 
); 
으로 DB.Please 도움말에서 값을 반환하지 않습니다실제로 어떤 일이 일어 않습니다 - 53,691,363,210
+0

_ "자사는 DB에서 값을 반환하지"_됩니다입니까? 브라우저의 콘솔 또는 서버 측에서 오류가 발생합니까? 또한 jQuery없이 일반 JavaScript를 사용하는 것처럼 보이면 왜이 태그가 'jquery'태그입니까? 그리고 코드를 읽을 수 있도록 _ 입력하십시오. – nnnnnn

+0

@nnnnn 그것의 오류를 표시하지 않는 DB 혼자 테이블 헤더를 인쇄하는 모든 값을 인쇄하지 않습니다. 나는 netbeans를 사용하고, 나는 이것을 실행하기 위해 jquery 파일을 추가해야합니까 ?? –

+0

@ sankrish 아약스 요청을 사용하는 동안 항상 브라우저에서 방화범을 사용하여 u가 요청을 보내고 무슨 일이 일어나는지 정확히 알 수 있습니다. – Deepak

답변

1

요청 개체

String name=request.getParameter("st"); 

당신이 전달하는 매개 변수에는 매개 변수 stq

xreq.open("get","getuser.jsp?q="+str,"true"); 
+0

문제가 해결되었습니다. 당신의 대답을 주셔서 감사합니다 :) –

+0

어떻게 서블릿과 2 JSP로 페이지를 대체 할 수 있습니다 .. scriplets의 사용을 피하기 위해 싶기 때문에 –

+0

예 가능합니다 – MaVRoSCy

관련 문제