首页 > 解决方案 > 未找到 NuxtJs/axios api 404

问题描述

使用nuxtand 对于 http 请求axios,这里是配置:

nuxt.config.js

  axios: {
    proxy: true,
    https: true,
    prefix: '/api'
  }

表单.vue

this.$axios.$post('/mail', {
...
}

提交表单后,请求 url 为:

http://localhost:3000/api/mail

但:

POST http://localhost:3000/api/mail 404(未找到)

在我的项目中:

/api
- index.js
- /routes
    -- /mail.js

index.js:

const express = require('express')
var mail = require('./routes/mail.js')

邮件.js

var router = express.Router()
router.post('/', function(req, res, next) {
  var mailInfo = req.body
  var mailDetails = getMailDetails(mailInfo.type, mailInfo.body)
  var mailOptions = {
    priority: 'high',
    from: process.env.SENDGRID_FROM || 'contact@test.com',
    to: mailInfo.to || mailDetails.to,
    subject: mailDetails.subject,
    html: mailDetails.msg
  }
  transporter.sendMail(mailOptions, function(error, info) {
    if (error) {
      console.log(error)
      res.status(404).json(error)
    } else {
      // console.log('Email sent: ' + info.response);
      res.status(200).json({
        message: 'email sent successfully'
      })
    }
  })
})
module.exports = router

任何想法?..

标签: javascriptnode.jsvue.jsaxiosnuxt.js

解决方案


您是否指定了要作为代理访问的服务器的地址?

// nuxt.config.js

proxy: {
  'prefix': 'url'
}

推荐阅读