将api响应附加到选择列表

时间:2018-05-06 10:02:49

标签: javascript html ajax

我已获得ajax代码

$.ajax({
    url: "api/librarian/list/callno",
    type: "GET",
    dataType: "json",
    success: function (data) {
        console.log(data);
        if(data.success) {
            $.each(data.data, function (index, value) {
                $('#book_callno_list').append('<option>'+value+'</option>');
            });
        }
    }
});

我想在选择列表中附加返回的数据,其中 book_callno_list 但是console.log(data)显示这样的数据,我怎样才能获得每个数据?

ajax回复

enter image description here

3 个答案:

答案 0 :(得分:0)

服务器的响应说:

你有一个对象&#34;数据&#34;那&#34;数据&#34;有一系列的项目。

如果你想访问一个对象然后获取列表,你需要以这种方式访问​​它:

response.data[item].

console.log(data)只是显示返回的响应是什么,如果你在.each中进行控制台登录,你得到你想要的。

你需要迭代:data.Data,而不是data.data

答案 1 :(得分:0)

对我来说,你可以这样:

var data={ success:true }
data.Data=["A-1","A-2","A-3","A-4","B-1","B-2","B-3","B-4","C-1","C-2","C-3","C-4","D-1","D-2"];

    if(data.success) {

    $.each(data.Data, function(key, value) {   
        $('#monselect')
            .append($("<option></option>")
                       .attr("value",key)
                       .text(value)); 
    });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="monselect">
 
</select>

答案 2 :(得分:0)

抱歉,我尝试了每个回复,但只是

$.ajax({
    url: "api/librarian/list/callno",
    type: "GET",
    dataType: "json",
    success: function (data) {
        console.log(data);
        if(data.success) {
            $.each(data.data.Data, function (index, value) {
                $('#book_callno_list').append('<option>'+value+'</option>');
            });
        }
    }
});

成功工作。