从rest接口获取JSON [Object object]

马特·考德威尔

我有一个使用apache camel的简单Web服务,该服务在HTTP GET上从数据库以JSON返回列名。

单击按钮将GET绑定到我的前端。在开发人员工具中单击时,我可以看到XHR数据返回了我期望的值,但是我似乎无法以编程方式将其提取出来。

我尝试读取的数据示例:

[{"COLUMN_NAME":"EID"},{"COLUMN_NAME":"USERID"},{"COLUMN_NAME":"LAST_UPDATE"},{"COLUMN_NAME":"LAST_UPDATED_BY"},{"COLUMN_NAME":"CREATED_DATE"}]
$(document).ready(function () {
    $('#getButton').click(function () {
    $.ajax({
        url: 'http://localhost:8090/rs/persons'
    }).then(function(data) {
            $.each(data, function(index, value) {
            $('#dropList').append(
                $('<option>', {text: value})
            )})
        });
    });
});

使用上面的代码,我的选择列表(dropList)会为返回集中的每个项目填充Object对象。

请指教,谢谢。

罗里·麦克罗森(Rory McCrossan)

value指对象。要附加文本,您需要引用该对象的属性:

$('<option>', {
  text: value.COLUMN_NAME // note the property name here
});

还要注意,您可以通过创建单个HTML字符串来稍微优化逻辑,以便只需要调用append()一次:

var data = [{
  "COLUMN_NAME": "EID"
}, {
  "COLUMN_NAME": "USERID"
}, {
  "COLUMN_NAME": "LAST_UPDATE"
}, {
  "COLUMN_NAME": "LAST_UPDATED_BY"
}, {
  "COLUMN_NAME": "CREATED_DATE"
}]

var html = data.map(function(o) {
  return `<option>${o.COLUMN_NAME}</option>`; 
}).join('');
$('#dropList').append(html);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="dropList"></select>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章