next.js Apollo客户端GraphQL查询:JSON输入意外结束

wj8zmpe1  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(136)

我正在使用NextJS与WP WooCommerce建立我自己的网站。默认情况下,查询结果只返回最多100个结果,但我把它改为1000,这不是一个问题。
当我使用如下查询发出请求时:

query MyQuery {
    products(first: 120) {
      nodes {
        id
        image {
          sourceUrl
        }
        name
        onSale
        productCategories {
          nodes {
            slug
          }
        }
        productTags {
          nodes {
            slug
          }
        }
        sku
        status
        totalSales
        type
        visibleProducts {
          nodes {
            slug
            isRestricted
          }
        }
        ... on VariableProduct {
          manageStock
          onSale
          price(format: RAW)
          regularPrice(format: RAW)
          salePrice(format: RAW)
          soldIndividually
          weight
          width
        }
        ... on ExternalProduct {
          onSale
          price(format: RAW)
          regularPrice(format: RAW)
          salePrice(format: RAW)
        }
        ... on SimpleProduct {
          price(format: RAW)
          regularPrice(format: RAW)
          salePrice(format: RAW)
          virtual
          weight
          width
        }
      }
    }
  }

没关系,没问题.
但是,当我想装载更多的产品时,例如140,我收到一个错误信息:

SyntaxError: Unexpected end of JSON input
at https://domain.info/sub/wp-content/plugins/wp-graphql/src/Admin/GraphiQL/app/build/static/js/main.b7d08b5b.js?ver=5.6.2:1:597992

它看起来像过载JSON长度或类似的东西?我不明白。我怎么能解决这个问题?我不需要分页在这里,因为我想获取所有的产品(约~150项)静态网站生成。

kognpnkq

kognpnkq1#

尝试增加php.ini文件的memory_limit
在尝试获取大量产品时遇到了同样的问题。
在WP的debug.log中启用调试日志记录后,我得到了:

[21-Oct-2022 08:25:22 UTC] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /var/www/html/wp-includes/meta.php on line 1189

所以增加对我来说是件好事。

相关问题