You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境PHP站点提交表单触发JScript document未定义报错如何解决

报错根因

你遇到的Microsoft JScript runtime error 'document' is undefined错误,本质是Windows系统的脚本宿主环境(而非浏览器)尝试执行了你的main.js文件。该环境没有浏览器提供的document、window等全局对象,因此触发报错。Mac环境下的Web服务器默认不会将.js文件作为服务端脚本执行,所以功能正常。

仅提交第一个表单时触发的原因:你提交第一个表单跳转到submit.php后,要么是资源相对路径引用错误触发了服务端的异常解析逻辑,要么是你使用的IIS服务器默认配置了.js后缀的服务端解析规则,将静态JS文件当成ASP脚本执行。

无需npm的解决方案

方案1:修复IIS处理程序映射(适用于用IIS部署站点的场景)

  • 打开IIS管理器,定位到你的站点
  • 进入「处理程序映射」设置页
  • 查找后缀为.js的映射项,如果有映射到asp.dll或JScript.dll的规则,直接删除该规则
  • 重启IIS站点,清空浏览器缓存后重试

方案2:内嵌JS代码到页面(通用快速解决方案)

直接把main.js的代码内嵌到HTML的<script>标签中,避免服务端解析外部.js文件:

  • 删除页面中<script src="main.js"></script>这行代码
  • 在原位置插入<script> 把整个main.js的代码粘贴到这里 </script>即可

方案3:替换为绝对路径引用资源

如果是路径跳转导致的资源引用异常,把所有JS资源的相对路径替换为站点根目录的绝对路径即可,示例:

<!-- 替换前 -->
<script src="./plugin/sweetalert/sweetalert.min.js"></script>
<script src="./plugin/webcamjs/webcam.min.js"></script>
<script src="main.js"></script>

<!-- 替换后,路径前缀对应你的站点根路径 -->
<script src="/plugin/sweetalert/sweetalert.min.js"></script>
<script src="/plugin/webcamjs/webcam.min.js"></script>
<script src="/main.js"></script>

内容的提问来源于stack exchange,提问作者swamper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:06:03