【问题标题】:Cannot stringify a function when using axios get within nuxtServerInit在 nuxtServerInit 中使用 axios get 时无法对函数进行字符串化
【发布时间】:2020-09-18 09:54:23
【问题描述】:

我正在尝试 Udemy Nuxt.js 课程将我的应用程序连接到后端, 尝试以下代码时,我在客户端得到了 GET http://localhost:3000/ 500 (Internal Server Error),

import Vuex from 'vuex';
import axios from 'axios';
const createStore = () => {
    return new Vuex.Store({
        state: {
            loadedPosts: [],
        },
        mutations: {
            setPosts(state, posts) {
                state.loadedPosts = posts;
            },
        },
        actions: {
          nuxtServerInit(vuexContext, context) {
               return axios
                .get('https://nuxt-blog-7a712.firebaseio.com/posts.json')
                .then((res) => {
                    const postArray = [];
                    for (const key in res.data) {
                        postArray.push({ ...res.data[key], id: key });
                    }
                    vuexContext.commit('setPost', postArray);
                })
                .catch((e) => context.error(e));
        },

WARN 无法对函数 transformRequest 进行字符串化

WARN 无法对函数 transformResponse 进行字符串化

WARN 无法对函数 httpAdapter 进行字符串化

WARN 无法对函数 validateStatus 进行字符串化

WARN 不能字符串化任意非 POJO 可写

WARN 不能对函数进行字符串化

我在谷歌上找到了一些答案但找不到解决办法,有些帖子谈到了贬值包但不知道这个包的用法

【问题讨论】:

    标签: javascript json vue.js nuxt.js


    【解决方案1】:

    也许晚了,但我也遇到了麻烦。警告不是破坏您的代码的原因,它们是just warnings

    破坏你的代码的一定是别的东西,但是看着你的代码我找不到它..

    尝试改变

    .catch((e) => context.error(e));
    

    .catch((e) => console.log(e); context.error(e));
    

    更好地了解问题所在!

    【讨论】:

      猜你喜欢
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 2017-01-17
      • 2013-06-29
      • 2023-04-05
      相关资源
      最近更新 更多