为了账号安全,请及时绑定邮箱和手机立即绑定

Nuxt 3 $fetch 方法不适用于 golang 服务器?

Nuxt 3 $fetch 方法不适用于 golang 服务器?

Go
UYOU 2023-01-03 17:13:10
UPD:你可以自己检查一下:https ://github.com/Rusinas/nuxt-fetch-bug我知道我知道这听起来很愚蠢,服务器语言与此类问题无关,但请听我说完。我正在尝试使用 $fetch()(或 useFetch,没有区别)从我的本地服务器加载数据,但出现此错误:FetchError: fetch failed ()没有提供任何其他细节。服务器正在使用 Golang/Fiber 运行。当我尝试通过 Postman 加载相同的端点时,一切正常:但是当我尝试在我的 nuxt 3 应用程序中加载 SAME 端点时:我明白了:但是我的 golang 服务器将此记录为成功:更奇怪的是,如果我运行完全相同的服务器(或任何其他随机 API)的 nodejs 版本,我不会收到任何错误。我很确定我的服务器工作 100% 正确,但也许我丢失了一些标头或其他东西,这是自动放置的?这是我的响应标题:我还检查了 nodejs 响应标头:似乎没有问题。我不知道发生了什么,也不知道在 nuxt js 的服务器端检索异步数据的其他方法。我已经安装了 axios,但由于某种原因它会抛出随机错误并在客户端工作,这使得使用 nuxt 变得毫无意义。但是,axios 可以调用此端点并返回我的数据,但只能在浏览器中调用(尽管我在没有任何挂钩的情况下在设置函数中调用它)。我现在正在考虑转行
查看完整描述

2 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

问题是 fetch() 由于某种原因没有重新调整 localhost:9000,但是当我将 BASE_URL 更改为 127.0.0.1:9000 时它开始工作

我有同样的错误:FetchError: fetch failed ()

更改localhosturl127.0.0.1为我工作。

作为单独的答案写作,因为有些人可能无法在评论中找到它。


查看完整回答
反对 回复 2023-01-03
?
MM们

TA贡献1886条经验 获得超2个赞

首先,我认为你使用$fetch的方式不对,正如我所看到的 Nuxt 使用fetch的例子:


const data = await fetch(endpoint, {                                                                         

    method: "GET",  

    mode: "cors"       

})                  

.then(resp => resp.json())

对于服务器,只需在响应中启用 CORS 标头,如下所示:


// you can replace the asterisk with the clients you want.

c.Append("Access-Control-Allow-Origin", "*")

希望我有所帮助:)


查看完整回答
反对 回复 2023-01-03
  • 2 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信