fetch(url, {method:HEAD}) 仅在文件不存在时给出 CORS 错误
fetch(url, {method:HEAD}) gives CORS error only if file doesn't exist
我需要检查服务器上是否存在文件列表。当运行这个代码
const promises = sentences.map(sentence => {
return fetch(`https://.../${sentence.id}.mp3`, {
method: 'HEAD',
cache: 'no-store',
})
})
const responses = await Promise.all(promises)
const notFound = responses.filter(response => !response.ok)
并将目录中的.htaccess
文件设置为
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET "
存在的文件的响应状态为 200,但对于不存在的文件,仍然存在阻止函数完成的 CORS 错误No 'Access-Control-Allow-Origin' header is present on the requested resource.
。
这是由于 404 “未找到 - 在此服务器上未找到请求的 URL。” 重定向?我怎样才能避免这种情况?
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET "
要在非 200 响应(即 404)上设置这些 headers,您需要使用 always
条件。例如:
Header always add Access-Control-Allow-Origin "*"
Header always add Access-Control-Allow-Methods: "GET "
参考:
我需要检查服务器上是否存在文件列表。当运行这个代码
const promises = sentences.map(sentence => {
return fetch(`https://.../${sentence.id}.mp3`, {
method: 'HEAD',
cache: 'no-store',
})
})
const responses = await Promise.all(promises)
const notFound = responses.filter(response => !response.ok)
并将目录中的.htaccess
文件设置为
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET "
存在的文件的响应状态为 200,但对于不存在的文件,仍然存在阻止函数完成的 CORS 错误No 'Access-Control-Allow-Origin' header is present on the requested resource.
。
这是由于 404 “未找到 - 在此服务器上未找到请求的 URL。” 重定向?我怎样才能避免这种情况?
Header add Access-Control-Allow-Origin "*" Header add Access-Control-Allow-Methods: "GET "
要在非 200 响应(即 404)上设置这些 headers,您需要使用 always
条件。例如:
Header always add Access-Control-Allow-Origin "*"
Header always add Access-Control-Allow-Methods: "GET "
参考: