我尝试只检索包含我的Nuxt内容查询中的某个标记的博客文章(在我的/content
目录中)。由于我在Nuxt内容查询字符串中使用URL查询参数,我不得不使用Nuxt内容创建的API(在这里记录)。
不幸的是,我看不到任何关于如何在查询中使用where
子句的$contains
参数的文档,如果您使用服务器端版本(使用queryContent,如这里所述),则可以使用该参数。
我当前的代码(如下)返回了一个空数据集,我相信这意味着我使用了正确的语法(否则我会得到一个“Bad Request”错误,但它没有返回任何内容,这不是我所期望的,因为我已经检查了我传递的标记,我肯定有博客文章标记了该标记。blog/index.vue
上的<script setup>
const getPostsByTag = async (tag) => {
const postsArr = await fetch(`/api/_content/query?_params={"where":{"tags":{"_contains":"${tag}"}}}`).then(res => res.json())
return postsArr
}
content/testing
中的示例博客文章
---
title: 'Test 1'
slug: 'test-1'
tags: [ 'test' ]
excerpt: "lorem ipsum dolor sit amet consectetur adipiscing elit non nobis domine"
created: '2023-03-08'
updated: '2023-03-12'
---
<p>Cupcake ipsum dolor sit amet soufflé icing carrot cake marshmallow. Chupa chups marshmallow dragée candy canes danish muffin dragée tootsie roll lollipop. Marshmallow lemon drops cake pudding powder muffin oat cake apple pie tiramisu. Powder liquorice gummies marshmallow toffee gummies danish sugar plum sweet. Lollipop candy jelly topping cake cake. Jelly beans pudding bonbon pastry cake icing biscuit. Soufflé lollipop jelly candy canes tart.</p>
我非常清楚我可能是在错误的树上,事实上,我可以通过<script setup>
访问查询参数,这将是非常有用的,所以如果是这样的话,请让我知道!
1条答案
按热度按时间sczxawaw1#
我考虑过删除这个问题,因为答案其实很简单,但我决定我会回答这个问题,以防其他人也有同样的问题。你可以把从前端脚本中检索到的url参数传递给后端脚本,它仍然可以工作。这个问题似乎更多地源于我对Nuxt/Vue的根本误解