我是 php 和 ajax 的新手..
我面临的问题是-
我在 jsp 页面中显示一个表.. 我想自动更新表而不
每 10 秒刷新一次页面。
我正在从 php 页面检索数据库的值..
这是 data.jsp 的代码
<html>
<script type="text/javascript">
function Ajax()
{
var
$http,
$self = arguments.callee;
if (window.XMLHttpRequest) {
$http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
$http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
$http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if ($http) {
$http.onreadystatechange = function()
{
if (/4|^complete$/.test($http.readyState)) {
document.getElementById('ReloadThis').innerHTML = $http.responseText;
setTimeout(function(){$self();}, 10000);
}
};
$http.open('GET', 'getuser.jsp', true);
$http.send(null);
}
}
function myFunction()
{
setTimeout(function() {ajax();}, 10000);
}
</script>
</head>
<body>
<button onclick="myFunction()">Try it</button>
<div id="ReloadThis" > the table is to be shown here </div>
</body>
</html>
我 wz 在 php 中做 getuser 部分..但由于 tomcat 不支持 php..所以我将我的代码转换为 jsp.. 这是我的代码
和 getuser.jsp 的代码
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%
String cond="SELECT * FROM invertor ";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:xe");
PreparedStatement ps = con.prepareStatement(cond);
ResultSet rs = ps.executeQuery();
if (rs.next())
{
dc_volt = rs.getString(1).trim();
dc_amp = rs.getString(2).trim();
ac_volt = rs.getString(3).trim();
ac_amp = rs.getString(4).trim();
}
else
{
}
%>
我得到的错误是 java.lang.arrayindexoutofboundsexception:2
从我的data.jsp页面触发“try”:按钮后..没有显示数据库表...