出现CORS错误的原因是因为该函数调用了跨域资源。通常情况下,可以通过在服务器的响应头中添加Access-Control-Allow-Origin来解决CORS错误,但是如果您将函数移到单独的JS类中,则无法直接在此类中添加响应头。
解决方法是通过在服务器端设置响应头来解决该问题。在服务器上,您需要检查请求头中的Origin并根据需要设置Access-Control-Allow-Origin。以下是一个示例,说明如何通过设置响应头解决CORS错误。
服务器端代码:
//添加以下代码到服务器端的响应头中
header("Access-Control-Allow-Origin: *");
客户端代码:
async function getData(url) {
const response = await fetch(url, {
method: 'GET',
mode: 'cors'
});
const data = await response.json();
return data;
}
class MyClass {
async myFunction() {
const data = await getData('https://myotherdomain.com/api/data');
console.log(data);
}
}
const myClass = new MyClass();
myClass.myFunction();
在这个例子中,getData函数被移到了单独的JS类中。通过在服务器端设置响应头,使得客户端可以访问跨域资源,从而避免了CORS错误。