您好我正在开发angularjs中的Web应用程序。我有一个html表单,有几个下拉菜单。我正在进行api调用以填充数据。我没有在一次调用中单独调用,而是获取绑定所有下拉列表所需的所有数据。 以下是我的样本数据。
{"status":"Success","msg":"Success","code":"200","data":{"Education":[{"ID":1,"Education":"btech"},{"ID":2,"Education":"Bcom"},{"ID":3,"Education":"BA"},{"ID":6,"Education":"PU"}],"MaritalStatus":[{"ID":1,"MaritalStatus":"sinle"},{"ID":2,"MaritalStatus":"married"}]}
我正在尝试将其绑定到下拉列表。
var martialstatus = new Array();
var Education = new Array();
$http.get(baseurl + 'api' + '/Customer/' + 'PersonalInfoMasters').success(function (data) {
$.map(data.data, function (item) {
Education.push(item[0]);
});
console.log(Education);
}).error(function (status) {
});
Abobe一段代码从每个对象中获取第一项,如教育,军事状态等第一项。我想将教育对象绑定到教育数组。我可以知道我在哪里缺少任何代码行吗?任何帮助,将不胜感激。
答案 0 :(得分:2)
您似乎没有从原始结果中进行任何类型的映射,因此以下内容就足够了:
Education = data.data.Education;
注意:
item[0]
看起来很奇怪 - 你想要用它做点什么吗?答案 1 :(得分:1)
你可以这样做:
var martialstatus = new Array();
var Education = [];
$http.get(baseurl + 'api' + '/Customer/' + 'PersonalInfoMasters').success(function(data) {
$.map(data.data.Education, function(item) {
Education.push(item);
});
}).error(function(status) {
});
您只需在item
方法中推送item[0]
而不是.map()
,这样它就会占用整个Education
对象并将其推送到您的数组中。
否则您可以使用而无需使用$.map()
:
Education = data.data.Education
答案 2 :(得分:1)
尝试这样的事情:
var MaritalStatus = new Array();
var Education = new Array();
$http.get(baseurl + 'api' + '/Customer/' + 'PersonalInfoMasters').success(function (data) {
$.map(data.data.Education, function (item) {
Education.push(item);
});
$.map(data.data.MaritalStatus, function (item) {
MaritalStatus.push(item);
});
}).error(function (error) {
// handle API errors
});
如果您甚至不需要格式化输出,只需重新指定变量的原始值即可。
$http.get(baseurl + 'api' + '/Customer/' + 'PersonalInfoMasters').success(function (data) {
Education = data.data.Education;
MaritalStatus = data.data.MaritalStatus;
}).error(function (error) {
// handle API errors
});
答案 3 :(得分:0)
不应该更像:
$.map(data.data.Education, function (item) {
Education.push(item[0]);
});