Access to font at 'http://localhost:8894/4.26/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117.woff2' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2023-07-24 17:00:07 浏览: 381
这个错误提示说明在从源 'http://localhost:8080' 请求字体文件 'http://localhost:8894/4.26/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117.woff2' 时,CORS策略阻止了访问。错误信息中提到缺少 'Access-Control-Allow-Origin' 头部。
CORS(Cross-Origin Resource Sharing)是一种安全机制,用于限制跨域请求资源的访问。当浏览器在一个域名下的网页发起对另一个域名的请求时,浏览器会检查响应头中是否包含 'Access-Control-Allow-Origin' 头部来确定是否允许跨域访问。
在你的情况下,字体文件的请求从 'http://localhost:8080' 发起,但是目标地址是 'http://localhost:8894',两个域名不同,因此浏览器会阻止跨域请求。
要解决这个问题,你可以尝试以下几个方法:
1. 在目标服务器上设置响应头:在 'http://localhost:8894' 的服务器端设置响应头,包括 'Access-Control-Allow-Origin' 头部,并将其值设置为允许访问的域名(例如 'http://localhost:8080')。这样浏览器就会允许跨域访问。
2. 使用代理服务器:在 'http://localhost:8080' 的服务器端设置一个代理服务器,将对字体文件的请求转发到 'http://localhost:8894',这样就避免了浏览器的跨域限制。
3. 将字体文件放在与请求页面相同的域名下:将字体文件放置在与请求页面相同的域名下,这样就不会触发跨域请求,避免了CORS问题。
请注意,为了确保安全性,需要仔细考虑允许跨域访问的来源。只允许信任的来源进行跨域访问,以防止潜在的安全风险。
阅读全文