javascript - 将从 servlet 返回的 hashmap 对象分配给 Javascript 变量
问题描述
我需要var finalout=[];
在 javascript 中分配我的 servlet 响应对象并打印它以用于测试目的。我不确定它的失败之处。
Jquery/Ajax/Java 脚本:
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script language="javascript">
var finalout=[];
$(document).on("click", "#somebutton", function() {
$.get("simpleServlet", function(responseJson)
{
document.write(responseJson);
finalout=responseJson;
});
});
console.log(finalout);
console.log("tested3");
var x = document.getElementById("mySelect");
for (i = 0; i < finalout.length; i++)
{
var c = document.createElement("option");
c.text =finalout[i][0];
x.options.add(c);
}
function ChangeCarList() {
var carList = document.getElementById("mySelect");
var modelList = document.getElementById("carmodel");
var selCar = carList.selectedIndex-1;
while (modelList.options.length) {
modelList.remove(0);
}
var cars = finalout[selCar][1].replace('[', '').replace(']', '').split(",");
if (cars) {
var i;
for (i = 0; i < cars.length; i++) {
var car = new Option(cars[i],i);
modelList.options.add(car);
}
}
}
</script>
html:
<div id="somediv">
<select id="mySelect" onchange="ChangeCarList()">
<option value="0">Select car:</option>
</select>
<select id="carmodel">
<option value="0">Select car:</option>
</select>
<button id="somebutton">Click me </button>
</div>
小服务程序:
@WebServlet(urlPatterns = { "/simpleServlet"} )
public class SimpleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public SimpleServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HashMap<String, ArrayList<String>> months = new HashMap<>();
//doing some functions and manipulating it
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().print(months);
}
解决方案
推荐阅读
- r - S3 方法的正确实现:我什么时候应该使用省略号?
- java - 通过 Google Cloud Datastore 进行地理空间查询
- flask - 无法从我的本地机器访问部署在 OpenShift 上的 Flask 应用程序服务的端点
- excel - 如何确定用户是否关闭了已由 Excel 中的代码打开的 Access 应用程序
- sql - 创建表时计算默认值的 SQL 列
- botframework - 网络聊天:如何更改网络聊天中卡片的边框颜色?
- visual-studio-2010 - 在基于 MFC 对话框的应用程序的不同页面上链接 2 个复选框
- angular - 错误类型错误:无法读取未定义的属性“getProjection”
- javascript - 从控制台访问 DataLayer 变量
- c# - 实体框架 6 - 重复时仅返回一个实体