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

HTML转Node.js后JS文件报错,寻求技术解决方案

问题解决方案

所有报错的核心原因是jQuery未被正确加载,或加载顺序晚于依赖它的插件,以下是分步解决方法:

1. 确保jQuery存在并按正确顺序引入

  • 检查views/assets/js目录下是否包含jQuery文件(如jquery.min.js),若缺失需添加该文件。
  • 在EJS模板的HTML中,先引入jQuery,再引入所有依赖jQuery的插件及自定义脚本,示例代码如下:
    <!-- 先加载jQuery -->
    <script src="/assets/js/jquery.min.js"></script>
    <!-- 再加载依赖jQuery的插件 -->
    <script src="/assets/js/waypoints.min.js"></script>
    <script src="/assets/js/jquery.counterup.min.js"></script>
    <script src="/assets/js/jquery.magnific-popup.min.js"></script>
    <!-- 最后加载自定义脚本 -->
    <script src="/assets/js/custom.js"></script>
    

2. 验证静态资源路径配置

  • 你的Express配置中已将/assets映射到views/assets目录,可通过访问http://localhost:3000/assets/js/jquery.min.js测试文件是否能正常加载:
    • 若返回404错误,说明文件位置或路径配置有误,需确认views/assets目录结构与文件存放位置匹配。

3. 修复SQL注入风险(额外优化)

当前代码中使用字符串拼接生成SQL语句,存在严重的SQL注入漏洞,需修改为参数化查询:

app.get('/askquestion', (req, res) =>{
  con.query(
    'INSERT INTO contactq (name, email, subject, massage) VALUES (?, ?, ?, ?)',
    [req.query.name, req.query.email, req.query.subject, req.query.message],
    function (err, result, fields) {
      if (err) throw err;
      res.redirect('https://phenomit.com/');
    }
  );
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:55:21