Проблема с AJAX


я работаю над кодом, но я устанавливаю тесты, чтобы я мог загружать информацию из базы данных в два поля, отклоняясь от выбора select. проблема заключается в том, что при запуске ajax это показывает ошибку. Вы уже запускаете код, в котором создается запрос, чтобы ajax возвращал его и выполнял до совершенства. Я оставляю свой код здесь

  function mifuncion(valor) {
    $.ajax({

      url: 'proceso.php',


      data: {
        valor: valor
      },


      type: 'POST',


      dataType: 'json',

      success: function(json) {

        $("#NombreCliente").value = json.nombre;
        $("#CodigoCliente").value = json.codigo;
      },


      error: function(xhr, status, errorThrown) {
        alert('Disculpe, existió un problema');
      }
    });
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>



<label>Cliente: </label>
<select name="valor" required onchange='mifuncion(this.value)'>
  <option value="">Seleccionar</option>
  <?php
        
        require("../conexion.php");
                     
        $var_consulta= "SELECT * FROM tpersonal ";
        $var_resultado = $mysqli->query($var_consulta);

        if($var_resultado->num_rows>0){

        while ($var_fila=$var_resultado->fetch_array()){
        
        echo "<option  value=".$var_fila['TPER_IDPER'].">".$var_fila['TPER_NOMBR']."</option>";}}
    ?>
</select>

<label>Código: </label>
<input name="CódigoCliente" id="CodigoCliente" type="text">

<label>Nombre: </label>
<input name="NombreCliente" id="NombreCliente" type="text">

<input name="reset" value=" Limpiar " type="reset" />

<input name="enviar" value="Registrar" type="submit" />

</form>

<!----------------------- ARCHIVO AJAX.PHP --------------------------------->
<?php
require("../conexion.php");

$valor=$_POST['valor'];

 

$jsondata = array();
 

$consulta="Select TPER_CARGO,TPER_NOMBR from tpersonal where TPER_IDPER='$valor'";
 
$resultado = $mysqli->query($consulta);
$resultados = mysqli_fetch_array($resultado, MYSQLI_ASSOC); 
 
$nombre=$resultados['TPER_CARGO'];
$codigo=$resultados['TPER_NOMBR'];
 

$jsondata['TPER_CARGO'] = $nombre;
$jsondata['TPER_NOMBR'] = $codigo;
 

 header('Content-type: application/json; charset=utf-8');
 echo json_encode($jsondata);
 
?>
Author: Erik Raúl González Páez, 2018-08-31

2 answers

$("#NombreCliente").value = json.nombre; 

Измените его на:

$("#NombreCliente").val(json.nombre);

И asi для всех значений, которые вы хотите загрузить.

Если это не проблема, он показывает, что он появляется в консоли.

 0
Author: ANDRES FERNANDO MARTINEZ VALEN, 2018-08-31 19:16:46

, Наконец, это код, qque с помощью A. Седано и Андрес Мартинес удалось исправить

function mifuncion(valor) {
    $.ajax({

      url: '../pruebas/proceso.php',


      data: {
        valor: valor
      },


      type: 'POST',


      dataType: 'json',

      success: function(json) {

$("#CodigoCliente").val(json.codigo);
$("#NombreCliente").val(json.nombre);
      },


      error: function(xhr, status, errorThrown) {
        alert('Disculpe, existió un problema');
      }
    });
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>



<label>Cliente: </label>
<select name="personal" required onchange='mifuncion(this.value)'>
  <option value="">Seleccionar</option>
  <?php
        
        require("../conexion.php");
                     
        $var_consulta= "SELECT * FROM tpersonal ";
        $var_resultado = $mysqli->query($var_consulta);

        if($var_resultado->num_rows>0){

        while ($var_fila=$var_resultado->fetch_array()){
        
        echo "<option  value=".$var_fila['TPER_IDPER'].">".$var_fila['TPER_NOMBR']."</option>";}}
    ?>
</select>

<label>Código: </label>
<input name="CodigoCliente" id="CodigoCliente" type="text">

<label>Nombre: </label>
<input name="NombreCliente" id="NombreCliente" type="text">

<input name="reset" value=" Limpiar " type="reset" />

<input name="enviar" value="Registrar" type="submit" />

</form>

<?php
require("../conexion.php");

$valor=$_POST['valor'];

 

$jsondata = array();
 

$consulta="Select TPER_CARGO,TPER_NOMBR from tpersonal where TPER_IDPER='$valor'";
 
$resultado = $mysqli->query($consulta);
$resultados= mysqli_fetch_array($resultado);
 
$nombre=$resultados['TPER_CARGO'];
$codigo=$resultados['TPER_NOMBR'];
 

$jsondata['nombre'] = $nombre;
$jsondata['codigo'] = $codigo;
 

 header('Content-type: application/json; charset=utf-8');
 echo json_encode($jsondata);
 
?>
 0
Author: Erik Raúl González Páez, 2018-08-31 21:35:25