Unable to send form data on Safari/Firefox iOS
P粉520204081
P粉520204081 2024-04-04 12:53:48
0
1
454

This works on all platforms except Safari/Firefox on 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!", error) is empty. It says "Error!". console.log(xhr.responseText) is also blank. I don't think this is a COR issue since Submits.php is hosted on the same server/domain as the form.

P粉520204081
P粉520204081

reply all(1)
P粉340264283

I need to prevent 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!");
});
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template