V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seekafter
V2EX  ›  Node.js

nuxt3 后端(server)目录接口调用问题求解答~

  •  
  •   seekafter · 245 天前 · 1204 次点击
    这是一个创建于 245 天前的主题,其中的信息可能已经有所发展或是发生改变。

    server 里面写了两个接口,调用地址分别是/yd/copyByUrl 和/yd/aaa 用 postman 都能调用成功,但是在/yd/copyByUrl 里面调用/yd/aaa 时报错:

    copyByUrl 方法
    [nuxt] [request error] [unhandled] [500] [GET] "/yd/aaa": <no response> Failed to parse URL from /yd/aaa
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async $fetch2 (/E:/dev/wsProjects/xxdl-yingdao-tool/node_modules/ofetch/dist/shared/ofetch.00501375.mjs:261:15)
      at Object.handler (E:\dev\wsProjects\xxdl-yingdao-tool\server\routes\yd\copyByUrl.post.ts:30:18)
      at async Object.handler (/E:/dev/wsProjects/xxdl-yingdao-tool/node_modules/h3/dist/index.mjs:1962:19)
      at async Server.toNodeHandle (/E:/dev/wsProjects/xxdl-yingdao-tool/node_modules/h3/dist/index.mjs:2249:7)
    [Vue Router warn]: No match found for location with path "/yd/copyByUrl"
    [Vue Router warn]: No match found for location with path "/yd/copyByUrl"
    [Vue Router warn]: No match found for location with path "/yd/copyByUrl"
    
    

    调用的代码: let res = await $fetch('/yd/aaa/')

    nuxt3 问题.png

    目前的解决办法是 gpt 给的:

    const req = event.req;
      const protocol = req.headers['x-forwarded-proto'] || 'http';
      const host = req.headers.host;
      const baseUrl = `${protocol}://${host}`;
    
      console.log("Base URL:", baseUrl);
    

    通过拼接 baseUrl 和路径来实现调用的

    请问,nuxt3 在遇到这种需要互相调用的接口下,是该怎么写接口呢? 闲鱼问了三个人都没给解决...说没遇到过

    10 条回复    2024-03-28 16:12:04 +08:00
    airyland
        1
    airyland  
       245 天前
    试试写成工具函数来调用
    seekafter
        2
    seekafter  
    OP
       245 天前
    解决了,webstorm 输入$fetch 会自动导包,把他的 import 删除就好了....
    zuck3131
        3
    zuck3131  
       245 天前
    问一下 如果用 useFetch 换掉这个$fetch 可以用吗
    seekafter
        4
    seekafter  
    OP
       245 天前
    好像不行, useFetch 是用在.vue 页面中的
    crocoBaby
        5
    crocoBaby  
       245 天前
    nuxt3 能不能直接作为 webapi 服务器?类似 express 那样
    seekafter
        6
    seekafter  
    OP
       244 天前
    @crocoBaby 可以的,nuxt 是个前后端框架,能单独用也能一块用
    crocoBaby
        7
    crocoBaby  
       244 天前
    @seekafter 也是用 express 吗?还是说框架内置了 router 和 control?
    seekafter
        8
    seekafter  
    OP
       244 天前
    crocoBaby
        9
    crocoBaby  
       244 天前
    @seekafter 看样子是不需要 express 了,我学习一下
    seekafter
        10
    seekafter  
    OP
       244 天前
    @crocoBaby 加油,我也是刚开始学,在做项目
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3445 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:16 · PVG 19:16 · LAX 03:16 · JFK 06:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.