Node后端+Vue(Vite)前端Axios请求CORS错误求助
问题:前端调用对接MailChimp的Node.js API时出现CORS错误
我了解该问题在Stackoverflow上已有大量讨论,但仍未找到解决办法。简而言之,我基于Node.js开发了对接MailChimp的API,并在Vite构建的Vue.js客户端应用中调用该API。此API在Postman中可正常工作,但前端调用时返回错误:
Access to XMLHttpRequest at from origin has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource
服务端index.js代码
const cors = require('cors') app.use(cors({ origin: '*' })) app.use('/v1/crm/leads', require('./src/routes/LeadRoutes'))
控制器方法代码
await addSubscriberToAudience('xxx', req.body.email).then(async (mailchimpID) => { if (mailchimpID) { let data = { references: { mailchimpID: mailchimpID } } let updatedLead = await Lead.findByIdAndUpdate(lead.id, data, { new: true }) res.status(200).json({ data: updatedLead, message: 'New Lead Created Successfully' }) } else { console.log('Null Mailchimp ID') } })
前端调用代码
axios.post(APIURL + '/v1/crm/leads/create', data, { headers: { 'X-ORIGIN': 'https://example.com' } }).then((response) => { console.log(response) }).catch((error) => { console.log(error.message) })
我能看到预检请求的响应头已设置Access Allow Origin:
后端部署在AWS Elastic Beanstalk,前端部署在AWS S3 Bucket,恳请帮助,谢谢!
补充说明1:
网站对后端的其他POST API调用均正常,仅该接口异常。差异在于此接口是客户端调用后端后,后端先调用MailChimp API,等待响应后再返回前端,望此背景有助排查。
内容的提问来源于stack exchange,提问作者Jacky.S
相关产品推荐
相关产品推荐

