我正在使用fetch来获取数据。 像这样:
getClipMetadata = (url) => {
const endpoint = 'http://www.vimeo.com/api/oembed.json';
fetch(`${endpoint}?url=${encodeURIComponent(url)}`, {
method: 'get',
cache: 'no-cache',
mode: 'cors',
headers: new Headers({
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json'
})
})
.then((response) => { return response.json();})
.then((res) => console.log("async response received", res))
.catch((err) => console.log("ajax error -> ", err))
}
所以我得到的错误就是:
Response for preflight is invalid (redirect)
我觉得Vimeo的开发者page看起来很简单。
我做错了什么?
答案 0 :(得分:1)
端点为'https://vimeo.com/api/oembed.json'
而不是'http://www.vimeo.com/api/oembed.json'
,我发送的标头也会导致问题。
所以最终的工作代码如下所示:
getClipMetadata = (url) => {
const endpoint = 'https://vimeo.com/api/oembed.json';
fetch(`${endpoint}?url=${encodeURIComponent(url)}`, {
method: 'get',
cache: 'no-cache',
mode: 'cors',
})
.then((response) => { return response.json();})
.then((res) => console.log("async response received", res))
.catch((err) => console.log("ajax error -> ", err))
}