在这里,我json + ajax + struts2
用来创建依赖下拉菜单。第一个下拉列表具有基于这些值的一些值,第二个下拉列表正在加载。在第二个下拉菜单中,每次单击第一个下拉菜单的数据后,我都会得到响应未定义的值(这里我正在使用onchange
事件)。我从 struts2 作为对象得到 ajax 响应。我想将这些对象转换为第二个下拉列表的字符串(它应该包含 id 和 name)。我不知道如何将对象转换为字符串。我尝试了stackoverflow中的一些链接并用谷歌搜索,但它对我不起作用。这是我的代码:
Struts2:
second_drop_downList=retrieveSecond();
ServletActionContext.getResponse().setContentType("text/html");
PrintWriter out = ServletActionContext.getResponse().getWriter();
out.print(second_drop_downList);
out.flush();
在这里,我得到了正确的大小,数据库中存在多少数据。我通过上面的代码将这些数据传递到 ajax 响应中。
这是我的ajax代码:
$(".country").change(function() {
var id = $(this).val();
var dataString = 'id=' + id;
$.ajax({
type : "POST",
url : "sendDropdown.action",
data : dataString,
success : function(response) {
alert(response);
var myJSONText = JSON.stringify(response);
//alert(myJSONText);
var obj = JSON.parse(myJSONText);
alert(obj);
var html = '<option value="">select Section</option>';
for ( var i = 0; i < obj.length; i++) {
html += '<option value="'+obj[i].id+'">' + obj[i].dep_name
+ '</option>';
}
html += '</option>';
$('.city').html(html);
}
});
});
在这里,我得到了十六进制格式的响应(在警报中)。但在下拉列表中我得到了未定义。