выборка из двух файлов JSON данных узла AJAX - PullRequest
0 голосов
/ 16 ноября 2018

Файлы JSON src1 и src2 содержат список элементов видео.Я создал веб-страницу, которая первоначально будет загружать данные через AJAX из src1.json и src2.json.Единственное отличие состоит в том, что src2.json имеет поле рейтинга;Как я могу объединить их, чтобы сделать только один вызов в AJAX для представления в HTML-файл?Можно ли это сделать с помощью node.js и ajax?

src1.json

[
    {
        'id' : 67544,
        'title' : 'Title 7',
        'posttime' : '2017-03-21T10:56:11.404Z',
        'tags' : [
            'green',
            'red',
            'blue'
        ]
    },
    {
        'id' : 333,
        'title' : 'Title 9',
        'posttime' : '2017-01-01T09:01:10.404Z',
        'tags' : [
            'orange',
            'purple'
        ]
    },
    {
        'id' : 444,
        'title' : 'Title 8',
        'posttime' : '2017-03-02T07:12:00.404Z',
        'tags' : [
            'magenta',
            'red',
            'yellow'
        ]
    }
]

src2.json

[
    {
        'id' : 43423,
        'title' : ' Title 1',
        'posttime' : '2017-03-21T10:56:42.404Z',
        'rating' : 1000,
        'tags' : [
            'green',
            'red',
            'blue'
        ]
    },
    {
        'id' : 342334,
        'title' : 'Title 2',
        'posttime' : '2017-03-21T09:56:42.404Z',
        'rating' : 100,
        'tags' : [
            'orange',
            'purple'
        ]
    },
    {
        'id' : 66343,
        'title' : 'Title 3',
        'posttime' : '2017-03-21T10:52:42.404Z',
        'rating' : 30,
        'tags' : [
            'magenta',
            'red',
            'yellow'
        ]
    }
]

Я пытался:

$(document).ready(function() {
  var url = "src1.json";
  var url2 = "src1.json";

    enter code here

  $("button").click(function() {
    $.get(url, function(data) {
      $('#mydiv').append((JSON.stringify(data)));
    });
    $.get(url2, function(data) {
      $('#mydiv').append((JSON.stringify(data)));
    });

  });
});

1 Ответ

0 голосов
/ 17 ноября 2018

Я думаю, что вы стремитесь к чему-то вроде:

  1. Загрузите src1.json и проанализируйте его.
  2. Загрузите src2.json и проанализируйте его.
  3. Объедините созданные массивы в новый массив.

Так что, если вопрос таков: Можете ли вы создать HTTP-бэкэнд в node.js, который делает это ?Ответ на этот вопрос однозначен: да, это можно сделать.Взгляните, например, на Expressjs: https://expressjs.com/, это структура для простого создания веб-приложений HTTP с помощью node.js.

На самом деле объединение массивов в Javascript должно быть простым, как только вы прочитаете файлы впамять и разобрал их.Примерно так должно поступить:

$ node
> a = [1,2,3]
[ 1, 2, 3 ]
> b = [4,5,6]
[ 4, 5, 6 ]
> a.concat(b)
[ 1, 2, 3, 4, 5, 6 ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...