Я создал Rest API с помощью Express, который подключается к mongodb.
Он отлично работает с почтальоном.
Затем я создал простое веб-приложение с vue и попытался получить ответ отAPI, использующий Axios, но я получаю сообщение об ошибке:
Доступ к XMLHttpRequest на ... был заблокирован политикой CORS: Запросы перекрестного происхождения поддерживаются только для схем протокола: http, data, chrome,chrome-extension, https.
Я попытался использовать несколько решений, включая cors и настройку res.header.
index.js
const app = express()
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
next()
})
app.use(bodyParser.json())
app.use('/api', require('./routes/api'))
app.use((err, req, res, next) => {
console.log(err)
res.status(422).send({error: err.message + req.params})
})
app.listen(process.env.port || 4000, () => {
console.log('listening...')
})
VUE компонента
import axios from 'axios'
export default {
data: () => ({
info: 'omg',
}),
mounted() {
axios.get('localhost:4000')
.then(response => (this.info = response))
.catch(error => console.log(error))
},
}
Как я могуполучить данные из API?