2013-09-20 2 views
-1

Я хочу просто показать свои данные из базы данных по уведомлениям div с помощью Ajax , но это не сработает. Я использую Maven и Spring, Hibernate, и в этом коде я использую только JDBC, чтобы убедиться, что он работает или нет. Но он не дает никакого выхода.Ajax + JSP не работает

function getNotifications() { 
    var xmlHttp; 
    try { 
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } catch (e) { 
    try { 
     xmlHttp = new XMLHttpRequest(); 
    } catch (e) { 
     alert("your browser cant support"); 
    } 
    } 
    xmlHttp.onreadystatechange = function() { 
    if (xmlHttp.readyState == 4) { 
     var x = (xmlHttp.responseText); 
     document.getElementById("notifications").innerHTML = x; 
     /* document.write(xmlHttp.responseText); */ 
    } 
    } 
    var url = "auto.jsp"; 
    url = url + "?q=" + str; 
    xmlHttp.open("get", url, true); 
    xmlHttp.send(url); 
}   

auto.jsp

<%@ page import="java.sql.*" %> 
<% String s="G"; 
System.out.println("helloooooooooo1111111"); 
String result=""; 
ArrayList li = new ArrayList(); 
try { 
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db2402","root","admin"); 

    System.out.println("helloooooooooo1111111"); 
    Statement st = con.createStatement(); 
    String sql = "select * from message "; 
    System.out.println("helloooooooooo22222266666"); 
    st.execute(sql); 

    ResultSet rs = st.getResultSet(); 

    System.out.println("helloooooooooo222222"); 
    int i = 1; 
    while(rs.next()){ 
    li.add(rs.getString(i)); 
    i = i++; 
    } 
} 
catch(Exception ex){ 
    out.println(ex); 
} 
%> 

<% 
Iterator itr = li.iterator(); 

while (itr.hasNext()) { 
    out.println(itr.next()); 
} 

%> 
+2

"Не работает" не так много из описания ошибки. –

+0

ошибка означает, что когда я поставил предупреждение, этот сценарий должен показать сообщение в блоке if (xmlHttp.readyState == 4) { \t \t var x = (xmlHttp.responseText); \t document.getElementById ("уведомления"). InnerHTML = x; \t/* document.write (xmlHttp.responseText); */ \t} –

+0

Я использую ajax в первый раз soo, я не знаю, как это работает, но я знаю, что этот код может быть достаточно большим –

ответ

0

На первый взгляд проблемы, как представляется, в двух утверждениях. Вы добавили , а не добавляли.
Вы url переменная

var url = "auto.jsp"; 
url = url + "?q=" + str; 

Изменения в

var url = "auto.jsp"; 
url += "?q=" + str; 

В auto.jsp внутри

while(rs.next()){ 
li.add(rs.getString(i)); 
i++; //here simple i++ will work fine. 
} 

Edit

Не относится:

  1. how to avoid scriptlets in jsp
  2. preincrement and postincrement in java
Смежные вопросы