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

XAMPP环境下Apache运行嵌入PHP的页面AJAX POST请求无响应求助

问题排查与解决步骤

  • 第一步:确认文件命名匹配
    你当前将HTML和PHP逻辑写在同一个文件中,该文件必须命名为aaaaa.php,否则AJAX请求的目标地址不存在,会返回404错误。你可以打开浏览器按F12调出开发者工具,切换到「网络」面板,点击按钮后查看对应POST请求的状态码,如果显示404就修改文件名或者把AJAX配置里的url参数改为你当前的文件名即可。
  • 第二步:补充AJAX响应处理逻辑
    你现有代码中的jQuery AJAX仅配置了发送请求,没有声明接收响应后的处理逻辑,因此哪怕后端返回了正确的POST结果,页面也不会自动更新展示。修改do_post函数内的AJAX代码如下:
    function do_post()
    {
      console.log("at do_post()");
      var arr = {"client": "fredi", "action": "mod", "rix": 6, "row": "yarn|white|5.59@"};
      $.ajax({
        type: "POST",
        url: 'aaaaa.php',
        data: arr,
        success: function(res) {
          // 打印结果到控制台,同时弹框展示,方便你直接查看
          console.log("后端返回内容:", res);
          alert(res);
        },
        error: function(err) {
          // 请求出错时打印错误信息
          console.log("请求异常:", err);
        }
      })
    }
    
  • 第三步:无需修改php.ini配置
    localhost本地环境默认不会拦截同域POST请求,你怀疑的安全机制阻止请求的概率极低,不需要调整配置文件。

可选优化(非必须)

如果你希望POST请求返回的内容不带多余的HTML代码,仅返回纯数据,可以把PHP逻辑移到文件最顶部,修改结构如下:

<?php
var_dump($_SERVER["REQUEST_METHOD"]);
if ($_SERVER['REQUEST_METHOD'] == 'GET')
{
  echo ("caught GET");
  var_dump($_GET);
}
else
{
  echo ("caught POST");
  var_dump($_POST);
  // POST请求输出完结果直接终止,不返回后续HTML内容
  exit;
}
?>
<!DOCTYPE html >
<html>
<!-- 后续原有HTML代码原样保留 -->

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:24:03