Проблема с 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);
?>
1
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