跨域请求可在Postman中使用,但在浏览器中可进行阻止

时间:2019-06-24 00:03:35

标签: javascript node.js express cors axios

我需要访问我的api以发送联系人电子邮件,但是每次尝试通过前端发送时,都会收到CORS错误。如果我使用Postman,问题就会消失,而且我无法弄清为什么会发生

我使用的是我在研究中发现的几个标题,但似乎没有一个标题可以解决问题。

这是我的请求前端:

const baseUrl = 'https://mywebsiteaddr.com:port/contact'

export default class ContactUs extends Component {

    send = () => {

        const message = this.state.message
        const url = baseUrl
        console.log(message)
        axios.post(url, message)
            .then(this.reset())
            .then(alert('Mensagem enviada'))
    }
}

这是我的index.js(API)

const express = require('express')
const app = express()
const consign = require('consign')
const AllowCors = require('./config/cors')
const bodyParser = require('body-parser')
const cors = require('cors')

const port = 21007
app.use(bodyParser.urlencoded({extended: true}))
app.use(bodyParser.json())
app.use(AllowCors)
app.use(cors())

consign()
//.then('./config/middlewares.js')
.then('./api')
.then('./config/routes.js')
.into(app)

app.listen(port, () => {
    console.log(port)
})

AllowCors:

module.exports = (req, res, next) =>{
    res.header('Access-Control-Allow-Origin', '*')
    res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
    res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
    res.header('Access-Control-Request-Method: GET, POST, OPTIONS, PUT, DELETE')
    next()
}

应该足以发送联系人电子邮件,对吗?如果有人可以帮助我,我将非常感激!

0 个答案:

没有答案