【发布时间】:2019-12-14 17:27:27
【问题描述】:
我在 chrome 上遇到了这个问题:
访问 'http://******/places?holiday_type=resort¤cy=EUR&checkin=2019-11-01&checkout=2019-11-10&groups[]=1' 来自原点“http://localhost:3000”已被 CORS 策略阻止: 对预检请求的响应未通过访问控制检查: 预检请求不允许重定向。
我的代码是:
getPlaces = async () => {
try {
let response = await fetch(`${BASE_URL}/places?holiday_type=resort¤cy=EUR&checkin=2019-11-01&checkout=2019-11-10&groups[]=1`,
{
method: 'GET',
headers: new Headers({
'Accept': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept, Authorization',
'Access-Control-Request-Method': 'GET, POST, DELETE, PUT, OPTIONS',
'Authorization': 'Basic ' + Base64.encode(apiuser + ':' + apipassword) ,
}),
})
console.log(response)
} catch (error) {
console.log(error)
}
}
【问题讨论】:
-
您请求哪种后端语言和框架,Java、Node.js 等?
-
这是一个外部API,我不知道它是什么语言。它适用于邮递员
-
该外部 api 正在阻止来自客户端的请求,因此您需要为前端创建一个后端并从该后端发出您的请求以传递 cors
-
好吧,我想用 Java Spring boot 测试它谢谢@onuriltan
标签: javascript reactjs fetch