Javascript 找不到NuxtJs/axios api 404
使用Javascript 找不到NuxtJs/axios api 404,javascript,node.js,vue.js,axios,nuxt.js,Javascript,Node.js,Vue.js,Axios,Nuxt.js,使用numxt和http请求axios,以下是配置: numxt.config.js axios: { proxy: true, https: true, prefix: '/api' } var router = express.Router() router.post('/', function(req, res, next) { var mailInfo = req.body var mailDetails = getMailDetails(mai
numxt
和http请求axios
,以下是配置:
numxt.config.js
axios: {
proxy: true,
https: true,
prefix: '/api'
}
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
form.vue
this.$axios.$post('/mail', {
...
}
提交表单后,请求url为:
http://localhost:3000/api/mail
但是:
404号职位(非
发现)
在我的项目中:
/api
- index.js
- /routes
-- /mail.js
index.js:
const express = require('express')
var mail = require('./routes/mail.js')
mail.js
axios: {
proxy: true,
https: true,
prefix: '/api'
}
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
有什么想法吗?
..您是否指定了要作为代理访问的服务器的地址
// nuxt.config.js
proxy: {
'prefix': 'url'
}
我很惊讶你得到了404,考虑到你没有在任何地方听,在
/routes/mail.js
?因为index.js中的代码没有路由设置,并且没有单独设置,所以您没有设置侦听axios请求的服务器。您的客户端代码似乎工作正常。显示代理设置或nuxt.config.js设置。