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?