用ajax在Json中获取价值[关闭]

问题描述 投票:-1回答:4

我有一个返回JSON的API,如下所示:

[{
    "Code": "001",
    "Name": "xyz",
    "Members": [{
        "FullName": "User1"
    }]
}, {
    "Code": "002",
    "Name": "asd",
    "Members": [{
        "FullName": "User2"
    }]
}]

我想在我的标签中替换名称和成员与“代码”匹配,我想用ajax做到这一点。如何实现与Code的匹配?

这是我的实施:

$('#btnFind').on('click', function () {
    var Code = $("#input_edit_code").val();

    $.ajax({
        type: "get",
        url: "/mvc/ComplaintHandlerSquadGetListPage",
        success: function () {
            alert();
        },
        error: function (ex) {
            alert(ex.title);
        }
    });
})
javascript jquery json ajax
4个回答
1
投票

您可以使用javascript过滤器和map Array函数。

让我们假装您将用户键入的代码存储在此codeNumber var中

var codeNumber = '002';

你的成员数组:

var members = [{"Code":"001","Name":"xyz","Members":[{"FullName":"User1"}]},{"Code":"002","Name":"asd","Members":[{"FullName":"User2"}]}];

通过代码过滤数组的函数:

var byCode = function(member) {
  return member.Code === codeNumber;
};

获取已过滤成员名称的函数:

var getName = function(member) {
  return member.Name;
};

你得到会员的名字

var memberName = members.filter(byCode).map(getName).toString();

console.log(memberName);

0
投票

我不相信AJAX和单独的简单JSON可以做你想要的。

JSON是一种构造对象的方法 - JavaScript Object Notation。它只构建数据。

AJAX是一种制作HttpRequest的异步方法。它要求服务器提供一些东西。

如果您使用AJAX请求JSON文件。您将获得JSON数据。

我相信你有两个选择:

  1. 使用AJAX从服务器请求数据。然后,服务器必须加载JSON文件,找到正确的数据并将正确的数据返回给AJAX。
  2. 使用AJAX获取JSON数据。使用JavaScript查找正确的数据。

0
投票

在成功处理程序中,您可以比较以下内容:

success: function(response) {
    // yourObject that matches the code 
    var yourObject = response.filter(function(item) {
       return item.Code === Code
    });
    // wherever you want to show this name
    $("body").text(yourObject.Name);
}

0
投票
$.ajax({
       type: "get",
       url: "/mvc/ComplaintHandlerSquadGetListPage",
       success: function (result) {
           jQuery(result).each(function(i, item){
           if(item.Code == Code)
           {
               $('#myid').text(item.Name);
           }
       },
       error: function (ex) {
           alert(ex.title);
       }
});
© www.soinside.com 2019 - 2024. All rights reserved.