我已经在使用express作为中间件的nodejs服务器中启用了CORS,但我仍然得到
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource
我尝试启用此处建议的cors和解决方案 Using CORS Still Give Cross Origin Error
但是它仍然对我不起作用。
app.use(cors())
app.options('*',cors())
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
// authorized headers for preflight requests
// https://developer.mozilla.org/en-US/docs/Glossary/preflight_request
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
next();
app.options('*', (req, res) => {
// allowed XHR methods
res.header('Access-Control-Allow-Methods', 'GET, PATCH, PUT, POST, DELETE, OPTIONS');
res.send();
});
});
这是我在前端nextjs
应用中创建请求的方式。
const requestBody={
bnb: address
}
let config = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
axios.post(methods.verify_bnb, qs.stringify(requestBody), config)
//
启用了cors后,我应该能够发出请求并进行服务器处理,但是它仍然会引发上述错误。
答案 0 :(得分:0)
我在zeit上部署了前端,并在计算引擎上部署了服务器。这给了我这个错误,一旦我在相同的计算引擎上部署了前端,它就可以正常工作。我不确定这是否是正确的实现,但是CORS错误不再产生