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

使用jQuery将HTML输入框数据发送至PHP失败问题求助

无法通过AJAX将输入框值传递到PHP变量的排查与解决

我尝试用jQuery把id为save__cena的HTML输入框值发送到指定PHP文件,后续计划将该价格数据传递给Stripe支付接口,但目前PHP变量$temp_pocet始终无法获取到对应值。相关代码如下:

jQuery代码

$(".save_form_email").on('click', function() {
    var pocet = $('#save__cena').val();
  console.table(pocet);
  $.ajax({
    url: '/modules/mod_custom_extended/tmpl/default.php',
    type: 'POST',
    data: {
      pocet: pocet
    },
    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
    success: function(response) {
      console.table(response);
    },
    error: function(jqXHR, textStatus, errorThrown) {
      console.log('AJAX request failed: ' + textStatus + ', ' + errorThrown);
    }
  });
});

PHP代码

<?php
if (isset($_POST['pocet'])) {
  $temp_pocet = $_POST['pocet'];
}
?>

排查与解决步骤

  • 确认请求参数是否发送:打开浏览器控制台的Network标签,触发按钮后查看对应POST请求的Form Data,检查pocet参数是否存在及值是否正确。若参数不存在,排查前端值获取逻辑;若存在,问题出在PHP端。
  • 验证PHP文件路径:确保AJAX的url路径正确,可直接在浏览器访问该URL,确认文件可正常加载。
  • 添加PHP调试输出:当前PHP仅赋值无输出,无法确认是否获取到值,修改代码如下:
<?php
if (isset($_POST['pocet'])) {
  $temp_pocet = $_POST['pocet'];
  echo "获取到的值:" . $temp_pocet;
} else {
  echo "未接收到pocet参数";
}
?>

通过AJAX的success回调查看返回内容,定位问题环节。

  • 阻止表单默认提交:若.save_form_email是表单提交按钮,需添加event.preventDefault()阻止页面刷新,避免AJAX请求被中断:
$(".save_form_email").on('click', function(event) {
  event.preventDefault(); // 阻止默认提交行为
  var pocet = $('#save__cena').val();
  console.table(pocet);
  // 后续AJAX代码不变
});
  • 检查输入框存在性:在浏览器控制台执行$('#save__cena').val(),确认输入框存在且能正确获取值,排查id拼写错误问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:02:33