0

WordPress ajax request in jquery.

The ajax request in jquery works but I'm trying to use pure JavaScript.

How can I turn this code into pure javascript?

$('#camitonContactForm').submit(function(event){
event.preventDefault();
    
isValidationOn = true;
validateInputs();

let formaction =   $('#camitonContactForm').data('url');
let forminput =   $('#camitonContactForm').serialize();

let noncecheck = $('#camitonContactForm').data('nonce'); ;
let formdata = new FormData;

formdata.append('action', 'contact_message');
formdata.append('nonce', noncecheck);
formdata.append('contact_message',forminput);

$.ajax(formaction, {

  type:'POST',
  data:formdata,
  processData: false,
  contentType:false,

  success: function(res){

  
  },

  error: function(err){
     alert(err.responseJSON.data);
  }

});

Here I tried to write it in pure javascript but it doesn't work.

 form.addEventListener('submit', (e) => {
  e.preventDefault();
  isValidationOn = true;
  validateInputs();


   //form action
  let formwrapper = document.getElementById('camitonContactForm');
  let formaction = formwrapper.getAttribute('data-url');
  //form nonce
  let noncecheck = formwrapper.getAttribute('data-nonce');
  //form
  let forminput =  serialize(formwrapper);

  
  var formdata = new FormData(form);

  
 /*
  formdata.append('action', 'contact_message');
  formdata.append('nonce', noncecheck);
  formdata.append('contact_message',forminput);
 */
  let  ajax = new XMLHttpRequest();

  ajax.open("POST",  formaction, true);
  ajax.onreadystatechange = function() {
    if(ajax.responseText == 4 && ajax.status == 200){
      if(ajax.responseText == "success"){
          
      }else{
          statusSection.innerHTML = ajax.responseText;
          btnsection.disabled = false;
          alert('well something wrong');
      }

    }
  }
  ajax.send(formdata);

});

the serialize funcion i found on this link below form serialize javascript (no framework)

0 Answers0