我用HTML编写了一个带有三个文本框的小表单。我们的想法是创建一个“联系我”表单,该表单将使用NodeMailer提交的信息。但是,我的ajax函数没有被调用。更具体地说,信息不会被发送到NodeMailer所在的“/ time”。 任何“指针”提前谢谢!继承我的JS文件:
$(document).ready(function(){
$("#send").click(function(e){
var name = $('input#name').val();
var email = $('input#email').val();
var message = $('textarea#message').val();
$.ajax({
url: "/time",
type: "POST",
dataType: 'json',
data: {
name: name,
email: email,
message: message
},
success: function() {
// Success message
$('#success').html("<div class='alert alert-success'>");
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-success')
.append("<strong>Your message has been sent. </strong>");
$('#success > .alert-success')
.append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
},
error: function() {
// Fail message
$('#success').html("<div class='alert alert-danger'>");
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-danger').append("<strong>Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!");
$('#success > .alert-danger').append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
}
})
});
});
答案 0 :(得分:0)
尝试使用特定的文件名而不是文件夹。即;
url: "/time/index.html",
包含Dev Console(浏览器中的F12)中的任何错误,以帮助我们为您提供帮助。
答案 1 :(得分:0)
你在这里遗漏了几件事 -
1)在ajax选项中添加contentType: "application/json"
。
2)对你的JSON进行字符串化:
data: JSON.stringify({
name: name,
email: email,
message: message
}),
另外,只需仔细检查/time
方法的参数是否分别是姓名,电子邮件和消息。