Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax+;JSP不工作_Javascript_Ajax_Jsp - Fatal编程技术网

Javascript Ajax+;JSP不工作

Javascript Ajax+;JSP不工作,javascript,ajax,jsp,Javascript,Ajax,Jsp,我只想使用Ajax在div通知上显示数据库中的数据 但它不起作用。我用的是Maven和Spring, Hibernate,在这段代码中,我只使用JDBC,只是想看看它是否正常工作。但它没有给出任何输出 function getNotifications() { var xmlHttp; try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { xmlHttp =

我只想使用Ajax在div通知上显示数据库中的数据 但它不起作用。我用的是Maven和Spring, Hibernate,在这段代码中,我只使用JDBC,只是想看看它是否正常工作。但它没有给出任何输出

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());  
}

%>

乍一看问题似乎存在于两种说法中。您正在重新分配值,而不是追加值。
您有
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.
}   

编辑

不相关:

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

  • “不起作用”不是一个很好的错误描述。错误意味着当我向它发出警报时,如果(xmlHttp.readyState==4){var x=(xmlHttp.responseText);document.getElementById(“通知”).innerHTML=x;/*document.write(xmlHttp.responseText);*/}我第一次使用ajax,所以我不知道它是如何工作的,但我知道这段代码可能非常有用enough@kryger:库/框架/API名称(如“Maven”、“Spring”和“Hibernate”)不是代码。请不要在建议的编辑中将其格式化为代码!