POST to rest api using Jquery

jquery, rest

Solution

You are not calling `addData()` in `form.onsubmit` event.

form.onsubmit = function (e) {
  // stop the regular form submission
  e.preventDefault();

  // collect the form data while iterating over the inputs
  var data = {};
  for (var i = 0, ii = form.length; i < ii; ++i) {
    var input = form[i];
    if (input.name) {
      data[input.name] = input.value;
    }
  }
  addData();
}

Problem

I'm writing a function to post data from a form to a rest api. This is what I have but it's not working and I cant figure out why. ``` <script> console.log(document); var form = document.getElementById("myform"); form.onsubmit = function (e) { // stop the regular form submission e.preventDefault(); // collect the form data while iterating over the inputs var data = {}; for (var i = 0, ii = form.length; i < ii; ++i) { var input = form[i]; if (input.name) { data[input.name] = input.value; } } function addData(){ $.ajax({ type: "POST", url: "http://example.com", data: JSON.stringify(data), contentType: "application/json; charset=utf-8", crossDomain: true, dataType: "json", success: function (data, status, jqXHR) { alert(success); }, error: function (jqXHR, status) { // error handler console.log(jqXHR); alert('fail' + status.code); } }); } </script> ``` Can anyone point me in the right direction?

Original source