我有一个带有模式窗口的表单,它通过 ID 搜索数据,并打开一个具有相同结果的窗口。问题似乎是要搜索的数据没有被发送,变量meat没有携带任何数据到ajax函数。这是代码
<div id="carne" class="tab-pane fade">
<form name="carneForm" id="carneForm" method="GET">
<label style="text-align:left;color: #777;">Número de Carné</label>
<br>
<input type="number" name="carne" id="carne">
<br><br>
<input type="submit" name="buscar1" id="buscar1" value="Buscar" onclick="buscarCarne()">
</form>
</div>
<!-- Modal -->
<div class="modal fade" id="resultModal" tabindex="-1" role="dialog" aria-labelledby="resultModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="resultModalLabel">Resultados de la Búsqueda</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body" id="modalBody">
<!-- Aquí se mostrarán los resultados -->
</div>
</div>
</div>
</div>
这是ajax函数的代码
function buscarCarne() {
var carne = document.getElementById('carne').value;
console.log('Valor de carne:', carne);
if (!carne) {
alert("Por favor, ingrese un número de carné.");
return;
}
$.ajax({
url: 'consulta_carne.php',
type: 'GET',
data: {
carne: carne
},
success: function(response) {
console.log(response); // Depuración: Verifica la respuesta en la consola
if (response.error) {
$('#modalBody').html('<p>' + response.error + '</p>');
} else if (response.data) {
var data = response.data;
var html = '<table class="table">';
html += '<tr><th>Nombre</th><td>' + data.Nombre + '</td></tr>';
html += '<tr><th>Código</th><td>' + data.Código + '</td></tr>';
html += '<tr><th>Fecha Incorporación</th><td>' + data.FechaIncorporacion + '</td></tr>';
html += '<tr><th>Correo</th><td>' + data.Correo + '</td></tr>';
html += '<tr><th>Cédula</th><td>' + data.Cedula + '</td></tr>';
html += '<tr><th>Teléfono</th><td>' + data.Telefono + '</td></tr>';
html += '<tr><th>Condición Profesional</th><td>' + data.CondicionProfesional + '</td></tr>';
html += '<tr><th>Tipo Suspensión</th><td>' + data.TipoSuspension + '</td></tr>';
html += '<tr><th>Dirección</th><td>' + data.Direccion + '</td></tr>';
html += '<tr><th>Colegiatura</th><td>' + data.Colegiatura + '</td></tr>';
html += '</table>';
$('#modalBody').html(html);
} else {
$('#modalBody').html('<p>Respuesta inesperada del servidor.</p>');
}
$('#resultModal').modal('show');
},
error: function() {
$('#modalBody').html('<p>Ha ocurrido un error en la consulta.</p>');
$('#resultModal').modal('show');
}
});
};
这是在 Web 服务中搜索数据并以 JSON 形式返回结果的 PHP 代码
<?php
include 'includes/session.php';
include 'includes/slugify.php';
require_once 'SapService.php';
$sapUrl = 'http://miservicio.com/Service.svc?wsdl';
$user = 'Prueba'; // Cambia esto por tu nombre de usuario
$password = 'prueba'; // Cambia esto por tu contraseña
$sapService = new SapService($sapUrl, $user, $password);
$response = array();
if (isset($_GET['carne'])) {
$carne = $_GET['carne'];
$carne = str_pad($carne, 6, '0', STR_PAD_LEFT);
$valores = $sapService->getSapUser($carne);
if (is_null($valores)) {
$response['error'] = "No se encontraron resultados con los criterios de búsqueda indicados.";
} else {
$response['data'] = array(
'Nombre' => $valores->getFullName(),
'Código' => ltrim($valores->getCardNumber(), '0'),
'FechaIncorporacion' => date('d/m/Y', strtotime($valores->getIncorporationDate())),
'Correo' => $valores->getPublicEmail(),
'Cedula' => $valores->getDniNumber(),
'Telefono' => $valores->getOfficePhone1(),
'CondicionProfesional' => $valores->getProfessionalStatus(),
'TipoSuspension' => $valores->getTypeSuspension(),
'Direccion' => $valores->getOfficeAddress()->getProvince()->getCode().", ".$valores->getOfficeAddress()->getCanton()->getName().", ".$valores->getOfficeAddress()->getDistrict()->getName().", ".$valores->getOfficeAddress(),
'Colegiatura' => ($valores->getUpToDate() <= 1) ? "Al día" : "Cuotas Pendientes"
);
}
} else {
$response['error'] = "No se ha enviado el número de carné.";
}
header('Content-Type: application/json');
echo json_encode($response);
?>
由于我来自哥斯达黎加,代码中有西班牙语部分。另外,您必须假设 SapService.php 文件确实存在并且可以工作。有任何想法吗?我已经尝试过一切了。
我尝试使用 get 方法、序列化甚至使用 getelementbyid,但都不起作用。
找到了我自己的答案。我使用 URL 并使用 getParameterByName 提取 ID 属性,并将其发送以获取数据。现在正在工作