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

AJAX POST发送数据到PHP后端isset($_POST)检测不到接收失败问题

问题原因

  • 浏览器地址栏手动访问页面时默认发起GET请求,不会携带任何POST参数。你的PHP代码仅校验$_POST全局变量中的inputval参数,GET请求下该参数不存在,因此返回Not recieved。
  • AJAX请求明确指定了type: 'post',参数会被正确携带到$_POST中,因此请求结果符合预期。

解决方案

根据业务需求可选择以下任意一种方案:

方案1:兼容GET/POST两种请求方式

如果你需要支持直接在地址栏访问获取结果,可以将PHP代码中的$_POST替换为$_REQUEST,该全局变量可同时接收GET和POST传递的参数:

if (isset($_REQUEST['inputval'])){
    $result = $_REQUEST['inputval'];
    echo json_encode($result);
}
else {
    echo 'Not recieved';
}

修改后可通过 你的PHP访问地址?inputval=自定义参数 的形式直接在浏览器访问获取返回结果。

方案2:保留仅POST访问的逻辑

如果该PHP文件是专门供AJAX调用的后端接口,不允许直接通过GET请求访问,那么当前的表现是完全正常的,无需修改代码,直接访问返回报错反而可以拦截非法的非接口请求。

补充提示:你提供的AJAX代码片段末尾缺少闭合的});,实际部署时请补全避免语法错误。

内容的提问来源于stack exchange,提问作者József Kiss

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:24:09