如何使用JQuery从REST API仅返回JSON对象的一部分
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来访问每个键值。
就像我最初的例子一样,然后忽略所有不是"Name"的键值对。这将是我想要的,但关键是会有数百个这样的调用在进行。每个调用都会返回完整的JSON对象,然后我会减少它;那是很多不必要的闲聊。我希望能够指定要减少服务器负载的键值对。
关于如何实现这一点,有什么建议吗?谢谢
REST端点没有简单的答案。这正是GraphQL、Falcor、OData和许多其他库所创建的问题。
相关文章:
- 将数据加载到使用JSON返回的表单字段时出现问题
- Javascript json返回未定义
- JSON返回数组的奇怪结果
- 如何使用 json 返回简单数据
- Json 返回每个函数
- 为什么它不将 JSON 返回到浏览器
- JQUERY JSON返回未定义
- 如何在视图中显示json返回的linq列表
- 解析JSON返回意外的标识符错误
- jquery json 返回添加两个数字的数据
- 如何在jsp中的javascript函数中从servlet获取json返回
- 在JSON返回值中循环
- 在.load jquery中使用JSON返回的页面url
- JSON 返回多个具有相同名称的值
- JSON 返回重复项
- JSON 返回未定义
- 映射 JSON 返回为 FullCalendar jQuery 库可用
- PHP 和 JSON:返回合适的格式
- 当 JSON 返回某个值时,更改 AJAX 中按钮的值
- 内线.当JSON返回“success”时,Ajax.request将成功:false