使用Docxtemplater加载docx文件时遭遇CORS策略拦截问题求助
问题原因及解决方案
你遇到的CORS报错核心原因是:你当前的代码直接请求了Docxtemplater官方域名下的docx模板文件,而官方站点没有配置允许第三方站点跨域请求资源的响应头,哪怕你已经把站点部署到了托管平台,跨域请求非自有域名下的资源依然会被浏览器的同源策略拦截。
Docxtemplater官方文档提到的「需要使用web服务器」指的是你需要在web服务器环境下加载你自己站点域名下的docx模板文件,不是允许你直接请求官方域名下的公共资源。
修复步骤
- 先把你需要用到的docx模板文件下载到本地,上传到你的托管站点的根目录或者专门的资源目录下
- 修改你站点的前端代码,把原来请求官方域名下docx文件的地址,替换成你站点内的相对路径,比如
./tag-example.docx即可 - 如果是本地开发场景,你只要用本地开发工具起一个localhost的本地服务,访问同域下的资源就不会触发CORS报错,不需要直接部署到线上托管平台调试
内容的提问来源于stack exchange,提问作者MATTI
相关产品推荐
相关产品推荐

