Для каждой выборки ответа javascript

#javascript #api #fetch

#javascript #API #выборка

Вопрос:

В настоящее время я работаю над проектом на javascript, где я должен получать заявки для их отображения. Итак, в основном здесь я извлекаю URL-адрес, за которым следует ключ API, JSON ответ, а затем хочу поместить результат в глобальную переменную. Вот код

         var colors = { 10: "#33cc33", 20: "#ffcc00", 30: "#ff0066", 40: "##ff0000" }
        var posts = [];
        //query the ticket API
        fetch(process.env.ticket_url.concat(apikey))
            //transform the response into json datas 
            .then(res => res.json())
            .then(res => {
                //if the Key is wrong
                if (res.status == 401) {
                    message.channel.send("Your API key is not valable, please set a valable one with !setinfo command followed by your key");
                }
                //if the Key is valid
                else {
                    res.forEach(element => {
                        var post = {};
                        post[id] = element[id];
                        post[color] = colors[priority_id];
                        post[title] = element[title];
                        post[description] = element[description];
                        console.log(post)
                        posts.push(post);
                    })
                }
                // code to handle the error
            }).catch(err => {}); 
  

Однако, как вы можете видеть, я ждал, чтобы получить столько сообщений, сколько мне выдал мой API, благодаря console.log(post)…. Но я ничего не получаю.
Я хотел добавить, что

 var colors = { 10: "#33cc33", 20: "#ffcc00", 30: "#ff0066", 40: "##ff0000" }
        var posts = [];
        //query the ticket API
        fetch(process.env.ticket_url.concat(apikey))
            //transform the response into json datas 
            .then(res => res.json())
            .then(res => {
                //if the Key is wrong
                if (res.status == 401) {
                    message.channel.send("Your API key is not valable, please set a valable one with !setinfo command followed by your key");
                }
                //if the Key is valid
                else {
                    console.log(res)
                }
                // code to handle the error
            }).catch(err => { });
  

Возвращает исключенный ответ в этом формате :

 [ .
  .
  .,
  {
    id: 222610,
    title: '456',
    description: '== what is the issue? ==nn== enter steps to reproduce ==',
    user_id: 808,
    company_id: 76,
    assigned_to_id: 805,
    status_id: 60,
    priority_id: 30,
    ticket_queue_id: 69,
    rating: null,
    rated_on: null,
    created_on: '2020-08-14T18:24:37.000Z',
    updated_on: '2020-08-14T18:24:54.000Z',
    status_changed_on: '2020-08-14T18:24:54.000Z',
    solved_on: '2020-08-14T18:24:54.000Z',
    assigned_on: '2020-08-14T18:24:39.000Z',
    created_from: 0,
    ticket_type_id: null,
    cc: '',
    legacy_id: null,
    first_assigned_on: '2020-08-14T18:24:39.000Z',
    user_attention_id: null,
    due_on: '2020-08-29T11:59:59.000Z',
    scheduled_on: '2020-08-28T11:59:59.000Z',
    is_attention_required: true,
    ticket_form_id: 425,
    resolution_id: 1
  }
]
  

Итак, вопрос в следующем: я не знаю, что не так в этом коде, можете ли вы помочь мне разобраться в этом, потому что я ищу время, но не могу разобраться сам.
Спасибо за вашу помощь.

Ответ №1:

Вам нужно обернуть ключи — id, title … в кавычках. То есть post[«id»] = element[«id»] и так далее.

Комментарии:

1. Ну, это решило мою проблему. Я действительно думал, что это проблема с выборкой, но на самом деле я тупой. Спасибо, приятель: D