So I am doing
var title = $("#newcourse_title").val();
var description = $("#newcourse_description").val();
var link = $("#newcourse_link").val();
var image = $("#newcourse_imagelink").val();
$.ajax({
url: "/courses/addcourse/",
dataType: "json",
type: "POST",
data: {
title: title,
description: description,
link: link,
img_link: image
},
success: function(response){
console.log(response);
}
});
but my expressjs application dosent even receive the request, that makes me think that it is a problem with the ajax. It dosent give any errors either. Here is my HTML code:
<div class="newpost_form">
<form id="new_course_form">
<input type="text" id="newcourse_title">
<textarea id="newcourse_description"></textarea>
<input type="text" id="newcourse_link">
<input type="text" id="newcourse_imagelink">
<input type="submit" class="button newpost_submit" value="Submit">
</form>
thanks in advance!
There are several ways but I guess this will work
function trigger(){
var title = $("#newcourse_title").val();
var description = $("#newcourse_description").val();
var link = $("#newcourse_link").val();
var image = $("#newcourse_imagelink").val();
$.ajax({
url: "/courses/addcourse/",
dataType: "json",
type: "POST",
data: {
title: title,
description: description,
link: link,
img_link: image
},
success: function(response){
console.log(response);
}
});
}
<input type="button" onclick="trigger()" class="button newpost_submit" value="Submit">
$("form").on("submit",function(event){
event.preventDefault();
trigger();
})
<input type="submit" class="button newpost_submit" value="Submit">
Ajax dataType
is json and I think you should serialize the postData to Json. You can use JSON.stringify
;
var title = $("#newcourse_title").val();
var description = $("#newcourse_description").val();
var link = $("#newcourse_link").val();
var image = $("#newcourse_imagelink").val();
var postData = {
title: title,
description: description,
link: link,
img_link: image
};
$.ajax({
url: "/courses/addcourse/",
dataType: "json",
type: "POST",
data: JSON.stringify(postData),
success: function(response){
console.log(response);
}
});