Javascript 如何使用JQuery从RESTAPI仅返回JSON对象的一部分
所以我一直在试图找到一种方法,使用JQuery从RESTAPI调用中只返回一个特定的键值对。我的第一个电话是:Javascript 如何使用JQuery从RESTAPI仅返回JSON对象的一部分,javascript,jquery,rest,Javascript,Jquery,Rest,所以我一直在试图找到一种方法,使用JQuery从RESTAPI调用中只返回一个特定的键值对。我的第一个电话是: jQuery.ajax({ type: "GET", url: "https://BASEURL/api/project-type/list-all", contentType: "application/json; charset=utf-8", dataType: "json", beforeSend: function () {
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");
}
});
然后我在Ajax成功部分中使用它们,并将它们放在一个表中。工作完美。然而,我希望发生的是,只从restapi获得JSON对象的Name-key-value对部分作为响应。像这样:
[{"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");
},
success:函数(数据、状态、jqXHR)
{
var trHTML=“”;
$。每个(数据、功能(i、项)
{
trHTML+=''+项目名称+'';
});
$('#projectTypesTable').append(trHTML);
$('#projectTypeListLoading').html(“完成”);
},
我可以通过两种不同的方式实现这个结果。我可以:
- 将REST API调用更改为“”。并调用它,让API只返回名称。我不想这样做,因为我有20个不同的URL,它们已经返回了所有的URL,我不会创建一个单独的URL来分别访问这些URL中的每个键值
- 在我的初始示例中得到所有类似的结果,然后忽略每个不是“Name”的键值对。这将满足我的要求,但关键是,将有数百个这样的电话在进行。每一个调用都会返回完整的JSON对象,然后我会减少它;那是很多不必要的闲聊。我希望能够指定要减少服务器负载的键值对
有没有关于如何实现这一目标的建议?谢谢 对于REST端点,没有简单的答案。这正是我们和许多其他库所要解决的问题
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");
},