我是AJAX的新手。我有一个HTML页面,我需要从服务器获取一些数据。我跟着w3schools的一些教程然后我踏上了AJAX。
这是我的策略。我有一个普通的HTML文件ajax.html
和jsp
文件ajaxdb.jsp
。按下按钮时,我调用一个函数updateList()
。
这是我的代码:
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(passParameter);
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("printBack").innerHTML = xmlhttp.responseText;
}
我隐藏了printBack
div的可见性,所以无论什么进展都是看不见的。在jsp页面中,我有一个包含所有员工列表的表。在此之后,我使用dataTable.rows[0].cells[0].innerHTML = tempTable.rows[0].cells[0].innerHTML;
其中tempTable
是对隐藏表的引用。
我认为这不是在AJAX中检索表格内容的最佳解决方案,请告诉我如何解决它。
答案 0 :(得分:1)
我建议使用jQuery的AJAX功能来实现这个目的: http://api.jquery.com/jQuery.ajax/
同样,从JSP中,您应该以有效的格式输出员工列表(即:JSON / XML)。 然后使用complete函数在ajax.html页面上显示此列表,该函数将在请求完成时触发。 (确保检查发送的状态是否“成功”)。
有几个库可以帮助您将java数组/对象转换为JSON / XML格式。
修改的 例如,您可以使用http://code.google.com/p/json-simple/ 然后将您需要的数据放在JSONobject中,然后输出。例如:
<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="org.json.simple.JSONObject"%>
<%
JSONObject obj=new JSONObject();
obj.put("name","foo");
obj.put("num",new Integer(100));
obj.put("balance",new Double(1000.21));
obj.put("is_vip",new Boolean(true));
obj.put("nickname",null);
out.print(obj);
out.flush();
%>