首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NextJS API不向外部域发布

NextJS API不向外部域发布
EN

Stack Overflow用户
提问于 2021-03-24 07:37:21
回答 1查看 1.7K关注 0票数 2

我在Vercel上运行了一个简单的NextJS应用程序。我克隆了Vercel给出的NextJS模板,只添加了一个名为jira.js的文件

当这个jira被击中时,我只是尝试将随机数据发布到外部API。

Jira.js如下所示

代码语言:javascript
复制
    // Next.js API route support: https://nextjs.org/docs/api-routes/introduction
    process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
    
    import axios from 'axios'
    import https from 'https'
    
    export default (req, res) => {
        const headers = {
            'Content-Type': 'application/json',
            'Access-Control-Allow-Origin': '*'
        }
    
        axios.post('https://webhook.site/6db7a14b-48d7-4037-a482-86885526aa40', {
            Name: 'Fred',
            Age: '23'
        }, {
            headers: headers,
            withCredentials: true
        }
        ).then(function(res) {
            console.log({res: res})
        }).catch(function(e) {
            console.log({"failed": e})
        })
        res.json({ status: 'ok' })
    
    }

当我局部地尝试它(localhost:3000/api/jira)时,数据会被发布到Web钩子站点,但是当我将它部署到vercel(random-domain.com/api/jira)时,Web钩子站点中就没有数据发布,但是我在浏览器中得到了状态: ok消息。

我对这件事很陌生?你能用我所缺少的指引我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-02 18:28:19

您还没有将您的函数标记为async,所以我不认为它正在等待JIRA的响应。例如:

代码语言:javascript
复制
export default async (req, res) => {
  try {
    const response = await fetch(
      `https://webhook.site/6db7a14b-48d7-4037-a482-86885526aa40`,
      {
        body: JSON.stringify({
            Name: 'Fred',
            Age: '23'
        }),
        headers: {
          'Access-Control-Allow-Origin': '*',
          'Content-Type': 'application/json'
        },
        method: 'POST'
      }
    );

    if (response.status >= 400) {
      return res.status(400).json({
        error: 'There was an error'
      });
    }

    return res.status(200).json({ status: 'ok' });
  } catch (error) {
    return res.status(500).json({
      error: 'There was an error'
    });
  }
};

您也不需要axios -默认情况下fetch是为您填充的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66776573

复制
相关文章

相似问题

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