javascript - 无法将ajax变量传递给php

标签 javascript php jquery mysql ajax

我有这段 html 代码,说 Cliente 的部分充满了一个简单的 mysql 查询;我想要做的是,当您在 Cliente 中选择一个选项时,它会自动在第二个列表中显示与数据库中的 cliente 链接的选项。

<div class="form-group">
  <label class="col-md-4 control-label" for="selectbasic">Cliente</label>
  <div class="col-md-4">
    <select id="cliented" name="cliented" class="form-control">
      <?php foreach ($dcli3 as $key) { ?>
        <option value="<?php echo $key['id'] ?>"><?php echo $key['nombre'] . ' ' . $key['apellido'] ?></option>
      <?php } ?>
    </select>
  </div>
</div>

<div class="form-group">
  <label class="col-md-4 control-label" for="selectbasic">Cuenta</label>
  <div class="col-md-4">
    <select id="cuentad" name="cuentad" class="form-control">
      <?php foreach ($dcu as $key) { ?>
        <option value="<?php echo $key['numero'] ?>"><?php echo $key['numero'] ?></option>
      <?php } ?>
    </select>
  </div>
</div>

要在第一个列表中获取选定的选项,我使用以下 js 代码:

    $(document).ready(function() {
    $('select[name="cliented"]').change(function(){
        var cliented = $(this).val();
        $.ajax({
                type: 'POST',
                url: 'cons.php',
                data: cliented,
                dataType: 'json',
         });
    });
});

在那之前一切都很好,即使我使用 alert(cliented);它向我显示了与所选客户端相对应的 ID。 问题是当我这样查询时:

if (isset($_POST['cliented'])) {
$cliente = $_POST['cliented'];
$cu = "SELECT * FROM cuenta WHERE idc= '$cliente'";
$dcu = $conn->query($cu);
}

$cliente 变量始终为空。我错过了什么?

最佳答案

您想发送键/值对。现在你发送的只是值(value)

改变:

 data: cliented,

收件人:

 data: {cliented: cliented},

关于javascript - 无法将ajax变量传递给php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45405672/

相关文章:

javascript - 在 Javascript 中解析来自 PHP 的编码数据

javascript - 使用 JQuery 检测被单击的行

javascript - 如何设置两个js函数之间的延迟?

javascript - 拼接也会影响初始数组

php - 更新选定的随机行 PHP

php - format mysql格式化日期

javascript - json 列表过滤器包含给定文本

javascript - Js 加载页面更改输入最小值

jquery - 获取两个元素之间的文本 JQUERY

javascript - 简单ajax和:remote => true In Ruby on Rails的区别