控制台报 net::ERR_ABORTED 要不要管
现象#
控制台一片 net::ERR_ABORTED,点加入购物车没反应,Network 里 cart/add.js 显示红色 cancelled,购物车角标也不动。
原因#
- 表单默认提交没被阻止,页面开始跳转,进行中的 fetch 被浏览器取消
- 按钮上绑了两次点击事件,第一次请求发出后第二次立刻把它中断
- 请求还没返回代码就改了 location.href,连接被主动断开
- 广告拦截插件把请求域名列入黑名单,请求以 aborted 收场
处理步骤#
- 在点击处理器里加
event.preventDefault(),并确认按钮是type="button" - 提交时给按钮加
disabled防重复点击,请求结束后再恢复 - 改成
await fetch('/cart/add.js', {...}),拿到响应后再跳转 - 搜主题里是否重复引入了同一段 cart 脚本,删掉多余的
<script> - 用无痕窗口并关掉广告拦截插件再复测一次,确认不是插件拦截导致
验收标准#
点击加购后 cart/add.js 返回 200 且状态为 finished,购物车角标即时加一,控制台不再出现 ERR_ABORTED。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。