不从 php 表单向 ajax 函数发送数据

问题描述 投票:0回答:1

我有一个带有模式窗口的表单,它通过 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">&times;</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,但都不起作用。

php json ajax function soap
1个回答
0
投票

找到了我自己的答案。我使用 URL 并使用 getParameterByName 提取 ID 属性,并将其发送以获取数据。现在正在工作

© www.soinside.com 2019 - 2024. All rights reserved.