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

为何AJAX无法通过POST将HTML(JS部分)的name值传递到PHP文件?

问题解决:Uncaught ReferenceError: $ is not defined 及代码优化

核心问题:未引入jQuery库

你代码里用的$.ajax是jQuery提供的方法,但页面根本没加载jQuery库,浏览器识别不了$这个符号,所以才会报Uncaught ReferenceError: $ is not defined。解决这个问题的关键是先引入jQuery,再写业务脚本。

其他需要修复的问题

  1. HTML结构错误:原代码把<head>标签放到了<body>标签里面,不符合HTML规范,需要调整位置。
  2. PHP语法错误:PHP代码最后多了一个多余的},会导致服务器端语法错误,必须删除。

修改后的完整代码

HTML/JS代码

<html>
<head>
  <!-- 先引入jQuery库 -->
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  <script type="text/javascript">
    const name = "asdasd";

    $.ajax({
      url: "TargetFile.php",
      method: "POST",
      data: {
        name
      },
      success: function (result) {
        alert(result);
      },
      error: function (error) {
        alert("Error " + error.status);
      }
    })
  </script>
</head>
<body>
</body>
</html>

PHP代码

<?php
  $name = $_POST['name'];
  if (empty($name)) {
    echo "Name is empty";
  } else {
    echo $name;
  }
?>

额外说明

  • 如果你不想用CDN引入jQuery,也可以下载jQuery本地文件,把src属性改成本地文件路径即可。
  • 测试时要确保TargetFile.php和HTML文件在同一目录下,或者调整url参数的路径指向正确的PHP文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 06:06:33