Heim  >  Fragen und Antworten  >  Hauptteil

Formulardaten können nicht auf Safari/Firefox iOS gesendet werden

Dies funktioniert auf allen Plattformen außer Safari/Firefox unter iOS:

jQuery("#gform_1").one('submit', function(event) {
  const form = document.getElementById("gform_1");
  const firstName = document.getElementById('input_1_1').value;
  const lastName = document.getElementById('input_1_2').value;
  const phoneNumber = document.getElementById('input_1_3').value;
  const email = document.getElementById('input_1_4').value;

  const formData = {
    firstName: firstName,
    lastName: lastName,
    phoneNumber: phoneNumber,
    email: email
  };

  jQuery.ajax({
    url: 'https://www.example.com/submissions.php',
    type: 'POST',
    data: formData,
    success: function(response) {
      console.log("Success!", response);
    },
    error: function(xhr, status, error) {
      console.error("Error!", error);
      console.log(xhr.responseText);
    }
  });
});

console.error("错误!", error) ist leer. Es heißt „Fehler!“. console.log(xhr.responseText) ist ebenfalls leer. Ich glaube nicht, dass es sich hierbei um ein COR-Problem handelt, da Submits.php auf demselben Server/in derselben Domäne wie das Formular gehostet wird.

P粉520204081P粉520204081178 Tage vor319

Antworte allen(1)Ich werde antworten

  • P粉340264283

    P粉3402642832024-04-05 09:36:07

    我需要防止Default。

    jQuery("#gform_1").one('submit', async function(event) {
      event.preventDefault();
      const form = document.getElementById("gform_1");
      const firstName = document.getElementById('input_1_1').value;
      const lastName = document.getElementById('input_1_2').value;
      const phoneNumber = document.getElementById('input_1_3').value;
      const email = document.getElementById('input_1_4').value;
    
      const formData = {
        firstName: firstName,
        lastName: lastName,
        phoneNumber: phoneNumber,
        email: email
      };
      const request = await new Promise((resolve, reject) => {
        jQuery.ajax({
          url: 'https://www.example.com/submissions.php',
          type: 'POST',
          data: formData,
          success: function(response) {
            console.log("Success!", response);
            resolve();
          },
          error: function(xhr, status, error) {
            console.error("Error!", error);
            console.log(xhr.responseText);
            reject(error);
          }
        });
      });
      await request;
      console.log("AJAX request completed!");
    });

    Antwort
    0
  • StornierenAntwort