首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >useFetch与body JSON

useFetch与body JSON
EN

Stack Overflow用户
提问于 2022-10-31 13:08:51
回答 1查看 32关注 0票数 1

我试图用以下代码使用useFetch访问API端点:

代码语言:javascript
运行
复制
<script setup>
const token = "bearerToken000";
const options = {
    method: 'GET',
    headers: {
        Authorization: `Bearer ${token}`
    },
}

const { data: menus } = await useFetch('http://localhost:3001/api/stores/62989e35f5a66308effb63b5/vendables/menus', options)
</script>

这可以很好地检索我的数据,但是我的API端点也接受具有以下对象的主体:

代码语言:javascript
运行
复制
{
    "projection": ["title","description"]
}

可以在其中指定数据库查询的筛选器。与邮递员合作很好,但是

代码语言:javascript
运行
复制
    const options = {
        method: 'GET',
        headers: {
            Authorization: `Bearer ${token}`
        },
        body: {
            "projection": ["title","description"]
        }
    }

在我的端点中的结果永远无法到达,并且返回的数据为null。

有人能向我解释为什么以及如何使用nuxt 3 useFetch或不同的方式发送GET请求吗?

EN

Stack Overflow用户

发布于 2022-10-31 13:37:03

如果要发送JSON主体,通常需要发送POST请求而不是GET。据我所知,您的代码似乎没有问题。

所以你试过:

代码语言:javascript
运行
复制
    const options = {
        method: 'POST',
        headers: {
            Authorization: `Bearer ${token}`
        },
        body: {
            "projection": ["title","description"]
        }
    }

编辑

我检查了nuxt3用于请求的ohmyfetch源代码。只有当请求是有效负载方法'PATCH', 'POST', 'PUT', 'DELETE'时,它才会将主体附加到请求。所以身体被忽略了,因为你使用的是GEThttps://github.com/unjs/ohmyfetch/blob/f86917748e26d8e01e6c39c1e93ba4decf975972/src/fetch.ts#L112

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74263774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档