使用AJAX将选择框列表从servlet发送到JSP
我正在获取公司名称选择框的动态数据。根据这些值,我需要为业务区域选择框填充数据。为此,我通过AJAX调用servlet 在servlet中,我获得了基于公司名称的业务领域列表,但我不明白如何将此列表传递给JSP代码 我正在获取选择框的动态数据,如下所示: 公司名称:使用AJAX将选择框列表从servlet发送到JSP,ajax,jsp,servlets,Ajax,Jsp,Servlets,我正在获取公司名称选择框的动态数据。根据这些值,我需要为业务区域选择框填充数据。为此,我通过AJAX调用servlet 在servlet中,我获得了基于公司名称的业务领域列表,但我不明白如何将此列表传递给JSP代码 我正在获取选择框的动态数据,如下所示: 公司名称: <select id="company_id" onchange="getBusinessArea()"> <option selected="selected">--Select One--<
<select id="company_id" onchange="getBusinessArea()">
<option selected="selected">--Select One--</option>
<% for (String txt : new ExtractDao().getCompanies()) {%>
<option><%=txt%></option>
<%}%>
</select>
我的Servlet代码:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ExtractService extService = null;
PrintWriter out = response.getWriter();
response.setContentType("text/html");
String companyName = request.getParameter("companyName");
extService = new ExtractService();
List<String> bList = extService.getBusinessAreas(companyName);
}
}
有人能帮我展示一下如何为business area select box填充数据吗?您需要将数据作为json发送并在客户端解析。看一看
function getBusinessArea() {
var elem = document.getElementById("company_id");
var selectedNode = elem.options[elem.selectedIndex].value;
window.alert(selectedNode);
var xmlhttp;
var companyData = "${pageContext.request.contextPath}/ExtractController?companyName="
+ selectedNode;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
window.alert(companyData);
xmlhttp.open("GET", companyData, true);
xmlhttp.send();
if (http_request.readyState == 4) {
if (http_request.status == 200) {
alert(http_request.responseText);
} else {
alert('There was a problem with the request.');
}
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ExtractService extService = null;
PrintWriter out = response.getWriter();
response.setContentType("text/html");
String companyName = request.getParameter("companyName");
extService = new ExtractService();
List<String> bList = extService.getBusinessAreas(companyName);
}
}