Взять параметр из URL и передать его

Подскажите, как взять параметр из URL, пример: mysite.com/?click_id=12345 и передать его через query запрос по API? Есть такой код обработчика формы, которая собирает статические параметры из формы для отправки:

var configRender = {
  ajax_url: "https://users.links/users/ajax/",
  hash: "vBmksM"
};

var init = function init(configRender) {
  var selector = document.querySelectorAll('.submit_form'); // Change selector which u want to render form
  /////////// DEFAULT FORM VALUES

  var formDeaultAttributes = {
    // do not change
    class: 'submit_form',
    // action: `/users/ajax/:${hash}`,
    method: 'post',
    enctype: 'application/json'
  };
  var formDefaultFieldsProps = [{
    name: {
      type: 'text',
      placeholder: 'FirstName',
      label: 'First Name',
      id: 'name'
    }
  }, {
    lastname: {
      type: 'text',
      placeholder: 'LastName',
      label: 'Last Name',
      id: 'lastname'
    }
  }, {
    email: {
      type: 'email',
      placeholder: 'Email',
      label: 'Email',
      id: 'email'
    }
  }, {
    phone: {
      type: 'text',
      placeholder: 'Phone Number',
      label: 'Phone Number',
      id: 'phone'
    }
  },
  {
    language: {
      type: 'hidden',
      value: 'en',
      id: 'language'
    }
  }
,
  {
    country_id: {
      type: 'hidden',
      value: 'UK',
      id: 'country_id'
    }
  }];

  var  validationForm = function validationForm() {
    $('[name=phone]').each(function (i) {
      window.intlTelInput($('[name=phone]')[i], {
        utilsScript: 'https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/16.0.8/js/utils.js'
      });
    });
    $(document).ready(function () {
      $.validator.addMethod('intlTelNumber', function () {
        if (window.intlTelInputGlobals.instances[0].isValidNumber()) {
          return true;
        } else {
          $.validator.messages.intlTelNumber = 'Enter Correct Number';
          return false;
        }
      });
      $('form').each(function () {
        $(this).validate({
          invalidHandler: function invalidHandler(form, validator) {
            var errors = validator.numberOfInvalids();

            if (errors) {
              validator.errorList[0].element.focus();
              $('.reg-btn').addClass('error');
            }
          },
          submitHandler: function submitHandler(form) {
            event.preventDefault();
            $.ajax("".concat(configRender.ajax_url).concat(configRender.hash), {
              method: 'POST',
              data: $(form).serialize(),
              dataType: 'json',
              error: function error(_error) {
                $('.reg-btn').addClass('error-btn');
              }
            }).then(function (resp) {
              document.test = resp;

              if (resp.data.redirect_url) {
                return document.location.replace(resp.data.redirect_url);
              }
            });
          },
          rules: {
            name: {
              minlength: 2
            },
            lastname: {
              minlength: 2
            },
            'phone': {
              intlTelNumber: true
            }
          }
        });
      });
    });
  };

  function addScript(src, callback) {
    var s = document.createElement('script');
    s.setAttribute('src', src);
    s.onload = callback;
    document.body.appendChild(s);
  }

  function AddExternals() {
    if (!window.jQuery) {
      var jq = document.createElement('script');
      jq.type = 'text/javascript';
      jq.src = 'https://code.jquery.com/jquery-3.4.1.min.js';
      document.getElementsByTagName('head')[0].appendChild(jq);
      console.log('Added jQuery!');

      jq.onload = function () {
        addScript('https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/jquery.validate.min.js');
        addScript('https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/16.0.8/js/intlTelInput.min.js', validationForm);
      };
    } else {
      console.log('jQuery already exists.');
    }
  }

  AddExternals();

  var formRender = function formRender() {
    var field = formDefaultFieldsProps.map(function (elem, index) {
      var keys = Object.keys(elem);
      return "<div class='form_field'>\n  <label class='form_field-label'>".concat(elem[keys].label, "<input required name=").concat(elem[keys].id, " class='form_field-input' type=").concat(elem[keys].type, " placeholder=").concat(elem[keys].placeholder, " class=''/></label></div>");
    }).join('');
    return field;
  };

  selector.forEach(function (elem) {
    elem.appendChild(document.createElement('form'));
    document.querySelectorAll('form').forEach(function (elem) {
      return elem.innerHTML = formRender();
    });
  });
  var attr = Object.keys(formDeaultAttributes).forEach(function (element) {
    document.querySelectorAll('form').forEach(function (elem) {
      return elem.setAttribute(element, formDeaultAttributes[element]);
    });
  });
  document.querySelectorAll('form').forEach(function (elem) {
    return elem.insertAdjacentHTML('beforeend', "<button class='reg-btn' type=submit>Submit");
  });
};

//if need render just add script in html and
// and get correct selector to render

init(configRender)

Ответы (0 шт):