无法将ajax变量传递给php

时间:2017-07-30 23:26:33

标签: 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',
         });
    });
});

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

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

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

4 个答案:

答案 0 :(得分:2)

您想发送一个键/值对。现在你要发送的只是值

变化:

 data: cliented,

要:

 data: {cliented: cliented},

答案 1 :(得分:0)

您需要将值分配给键。

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

答案 2 :(得分:0)

$(document).ready(function() {
$('select[name="cliented"]').change(function(){
    var cliented = $(this).val();

    DATA = 'cliented=' + cliented;

    $.ajax({
            type: 'POST',
            url: 'cons.php',
            data: cliented,
            dataType: 'json',
                 success:function()  
                 {

                 }
     });
});
});

答案 3 :(得分:0)

您没有使用ajax设置变量名称。

更改:

data: cliented,
to:
data:'cliented='+cliented