Как получить заголовок ответа от ax ios получить ответ? - PullRequest
0 голосов
/ 27 апреля 2020

Я создаю VueJS приложение. Я получаю данные из API WordPress Rest. Я не очень опытен с javascript и VueJS.

  async getPosts({ state, commit, dispatch }) {
        if (state.posts.length) return
        try {
          let posts = await fetch(
            `${siteURL}/wp-json/wp/v2/posts?page=1&per_page=10&_embed=1`
          ).then(res => res.json())
           let total = res.headers['x-wp-total']
            console.log(total)
          posts = posts
            .filter(el => el.status === "publish")
            .map(({ id, slug, title, excerpt, date, tags, content, author, author_name  }) => ({
              id,
              slug,
              title,
              excerpt,
              date,
              tags,
              content,
              author,
              author_name
            }))



          commit("updatePosts", posts)

        } catch (err) {
          console.log(err)
        }

Мой код работал до тех пор, пока я не добавил их в строки:

 let total = res.headers['x-wp-total']
            console.log(total)

Я хочу получить заголовок из моего ответа на конфигурацию моей нумерации страниц. Вот сообщение об ошибке, которое у меня есть: ReferenceError: res не определено в _callee $ (приложение VM770. js: 5162) в tryCatch (VM768 commons.app. js: 4486) в Generator.invoke [как _invoke. ] (VM768 commons.app. js: 4712) в Generator.prototype. [как далее] (VM768 commons.app. js: 4538) в asyncGeneratorStep (VM768 commons.app. js: 31) в _next (VM768 commons.app. js: 53)

Спасибо за вашу помощь. Я думаю, что мне нужны некоторые курсы для реализации некоторой концепции javascript basi c. Так что любая онлайн документация или курсы приветствуются.

1 Ответ

0 голосов
/ 27 апреля 2020
Переменная
  1. res находится в области действия в функции, которая предоставляется в качестве обратного вызова для then.

  2. Переменные заголовка могут быть доступны с помощью res.headers.get(string headerName)

 async getPosts({ state, commit, dispatch }) {
        if (state.posts.length) return
          fetch(
            `${siteURL}/wp-json/wp/v2/posts?page=1&per_page=10&_embed=1`
          ).then((res) => {

           let total = res.headers.get('x-wp-total')
           console.log(total)
           posts = res.json()
            .filter(el => el.status === "publish")
            .map(({ id, slug, title, excerpt, date, tags, content, author, author_name  }) => ({
              id,
              slug,
              title,
              excerpt,
              date,
              tags,
              content,
              author,
              author_name
            }))
           commit("updatePosts", posts)
          }).catch ((err) => {
          console.log(err)
          })

...