我有像
这样的jQuery函数Function getCities(abbr) {
$.ajax({
type: "POST",
url: "Main/aaa",
data1: "{}",
success: function (response) {
}
});
作为响应,我得到了一些对象数组。格式看起来像
[{id: 1, decr: "some string"},
{id: 3, decr: "some string2"}]
等..(数组的每个成员都有值id和desc)
我的问题是解析这个响应并得到一些带有id和desc值的列表。我试着写点像
$.each(response, function (key, value) {
items += "<option value='" + key + "'>" + value + "</option>";
});
但这对我不起作用。
每个都有问题吗?我检查了一下,得到了回复,我只需要找到解析它的方法。
答案 0 :(得分:2)
您的回复是JSON类型。在查看了each()函数之后,我修改了你的每个函数,如下所示。
试试这个:
$.each(response, function (key, value) {
items += "<option value='" + key + "'>" +value.id+" "+value.decr+ "</option>";
});
答案 1 :(得分:0)
虽然不是您的问题,但是将函数语言中的每个值转换为其他值的行为称为映射。和jQuery does support it:
var options = $.map(response, function(item){
return $('<option />', { value: item.id, text: item.desc })
});
这将返回option
个元素的数组。学习如何在jQuery编程时以更实用的方式编写,从长远来看是值得的。