本文共 877 字,大约阅读时间需要 2 分钟。
在项目开发中,我们遇到一个需要重点解决的技术问题:AJAX异步提交表单时,由于Chrome浏览器的安全策略限制,本地资源无法正常访问,导致表单提交失败。症状包括لماتDebugาส仮機,豹子提示“action找不到”,但直接访问URL则正常登录后台。
浏览器安全策略限制
Chrome浏览器对本地 AJAX 资源访问实施了安全限制。这种限制会影响某些 AJAX 请求的正常运行,尤其是在跨多域(CORS)请求时更加明显。服务器配置检查
AJAX 提交重构
尝试将 AJAX 请求转换为 fetching 调用,或者改用 Fetch API,减少浏览器主线程占用。服务器配置优化
配置 Tomcat 的 CORS 锁,允许前端域名和后台域名的跨域请求。修改catalina geopolitical.classpath
文件,添加允许的原点。跨域请求处理
使用CORS Middlewar
中间件,自动处理跨域请求。或者手动设置 header,明确指定允许访问的域名。AJAX 请求重构
考虑将 AJAX 提交改为 fetch(), 使用 async/await 架assisически,提升请求兼容性。同时,减少异步操作对主线程的占用,提升页面体验。安全策略绕过
暂时解决方案,设置 Chrome 浏览器的 Local Resource 限制。可以通过 chrome://flags 调试,尝试解锁本地资源访问。显式跨域设置
在 HTML 头部添加Cross-Origin-Opener-Policy: same-origin
,强制让某些请求保留原有域名,避免跨 xdr 调用方式。建议在正式环境中优化服务器设置,并制定统一的跨域策略。随着应用版本发布,逐步验证各项变更效果,确保金蝶协同稳定运行。
转载地址:http://lckmz.baihongyu.com/