我已经在PHP服务器(Slim框架)上设置了CORS,以便能够从Vue应用程序发出请求。每次单独访问每条路由时,它工作正常,但是一次触发多个请求(使用Promise.all()
)时,出现CORS错误。
这有效:
Promise.all([axios.get('/me')])
这有效:
Promise.all([axios.get('/customers')])
这有效:
axios.get('/me').then(() => { axios.get('/customers') })
不是,但是有时会:
Promise.all([axios.get('/me'), axios.get('/me')])
不是,但是有时会:
Promise.all([axios.get('/customers'), axios.get('/customers')])
有人有没有遇到过这个问题,或者有任何想法可能是什么?
错误消息:CORS策略已阻止从源“ http://api.renewals.test/customers”访问“ http://localhost:8080”处的XMLHttpRequest:请求的资源上不存在“ Access-Control-Allow-Origin”标头
当我在“资源”选项卡中检查请求时,如错误所报告的,没有任何Allow- *标头与响应一起发送,但是当完全由自己发出完全相同的请求时(即一个接一个),他们是。
我在Macbook上运行了完全相同的代码,并且工作正常,因此这与Windows上的设置有关,例如服务器无法一次或多次处理多个请求。我的Mac设置使用nginx,而在Windows上,我使用Apache。
可以确认这与我在Windows上设置的Apache有关。我已切换到Nginx,一切正常。