JSON с угловым и node.js - PullRequest
       1

JSON с угловым и node.js

0 голосов
/ 02 сентября 2018

Привет, ребята. Я новичок в узле JS и угловой. В настоящее время я работаю над обработкой JSON-файла с помощью Angular и Node JS, но, к сожалению, на данный момент я столкнулся с проблемой. Я пытаюсь вернуть все элементы JSON (ключ и значение) после его вызова. Например, у некоторого элемента JSON есть ключ с именем 'role', а некоторые - нет, поэтому я хочу сначала получить их все, а затем разобраться с этим ... помогите мне

файл JSON

{"name":"Manager"},
{"name":"Brad","role":"chef"},
{"name":"Edward","role":"chef"},
{"name":"Kim","role":"waiter"},
{"name":"Park"}

check.js

module.exports = function(app,fs) {
    app.get('/check', (req, res) => {

        var worker_with_role = [];

        fs.readFile('user.json', 'utf8', function(err, data) {
            worker_with_role = JSON.parse(data);
            res.send(worker_with_role);
            return;
        }
    });
}

1012 * Аякс *

function list() {
    $.ajax({
        url: window.location + '/check',
        type: 'get',
        success: function(response) {
            console.log(response);
        });
}

Я использую ajax .. поэтому я хочу получить данные

1 Ответ

0 голосов
/ 02 сентября 2018

Вам не нужно делать это: worker_with_role = JSON.parse(data);

JSON.parse преобразует строковый JSON в JSON Object. И вы не можете отправлять объекты JSON в ответ. Это должно быть stringified/serialized.

module.exports = function(app, fs) {
  app.get('/check', (req, res) => {
    var worker_with_role = [];
    fs.readFile('user.json', 'utf8', function(err, data) {
        res.writeHead(200, {
          'Content-Type': 'application/json'
        });
        res.write(data);
        res.end();
      }
    });
  }
}

На клиенте, когда вы получите это, вы можете проанализировать его там, чтобы преобразовать его в объект JSON. Хотя Angular HttpClient делает это автоматически для вас.

Обновление:

Если вы используете Angular, не используйте jQuery для выполнения AJAX-вызовов. Это в первую очередь превосходит всю цель использования Angular.

Используйте взамен HttpClient.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...