[英]How to return only part of JSON object from REST API with JQuery
因此,我一直在尝试找出一种方法,该方法仅使用JQuery从REST API调用中返回特定的键值对。 我要打的最初电话是:
jQuery.ajax({
type: "GET",
url: "https://BASEURL/api/project-type/list-all",
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: function ()
{
$('#projectTypeListLoading').text("Loading...");
},
success: function (data, status, jqXHR)
{
var trHTML = "";
$.each(data, function (i, item)
{
trHTML += '<tr><td>' + item.Name + '</td><td>' + item.Code + '</td><td>'
+ item.Order + '</td><td>' + item.IsActive + '</td><td>' + item.Id + '</td></tr>';
});
$('#projectTypesTable').append(trHTML);
$('#projectTypeListLoading').html("DONE");
},
error: function (jqXHR, status)
{
$('#projectTypeListLoading').html("Error loading list");
}
});
这样,我可以从REST API中获取JSON对象的列表,如下所示:
[{"Name":"Project Type 2","Code":"2","Order":2,"IsActive":true,"Id":"c497e4e8-16b4-44e2-b6ac-a9a2c392d9d4"},{"Name":"Project Type 3","Code":"3","Order":3,"IsActive":true,"Id":"6da2a240-2327-4260-a6df-f4bec25535c2"}]
然后,将它们用于Ajax成功部分,并将其粘贴到表中。 完美运作。 但是,我想发生的是仅说出JSON对象的Name键值对部分作为我的REST API的响应。 像这样:
[{"Name":"Project Type 2"},{"Name":"Project Type 3"]
然后在我的成功函数中使用:
success: function (data, status, jqXHR)
{
var trHTML = "";
$.each(data, function (i, item)
{
trHTML += '<tr><td>' + item.Name + '</td></tr>';
});
$('#projectTypesTable').append(trHTML);
$('#projectTypeListLoading').html("DONE");
},
我可以通过两种不同的方式来实现此结果。 我可以:
将我的REST API调用更改为“ https:// BASEURL / api / project-type / name ”。 并调用此方法,让API仅返回名称。 我不想这样做,因为我有20个不同的url已经返回了所有URL,因此我不会制作单独的URL来分别访问每个URL的每个键值。
在我的初始示例中得到所有类似信息,然后忽略每个不是“名称”的键/值对。 这可以满足我的要求,但要点是将有数百个此类调用正在进行。 这些调用中的每一个都将返回完整的JSON对象,然后将其缩减; 那是很多不必要的chat不休。 我宁愿指定要减少服务器负载的键值对。
关于如何实现这一目标的任何建议? 谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.