很遗憾,AJAX 提交现在只供 Formspree 上的金牌用户使用。
要解决这个问题,您可以创建一个 <form> 元素并以编程方式提交它,如下所示:
function submitForm(name, email, message){
var destinationEmail = "youremail@domain.com";
var form = document.createElement('form');
form.setAttribute("action", "https://formspree.io/" + destinationEmail)
form.setAttribute("method", "POST")
// Subject for your email
var field = document.createElement("input");
field.setAttribute("type", "hidden");
field.setAttribute("name", "_subject");
field.setAttribute("value", "Contact form submitted");
form.appendChild(field);
// Contact email address
field = document.createElement("input");
field.setAttribute("type", "hidden");
field.setAttribute("name", "email");
field.setAttribute("value", email);
form.appendChild(field);
// Your user's name
field = document.createElement("input");
field.setAttribute("type", "hidden");
field.setAttribute("name", "name");
field.setAttribute("value", name);
form.appendChild(field);
// The text message
field = document.createElement("input");
field.setAttribute("type", "hidden");
field.setAttribute("name", "message");
field.setAttribute("value", message);
form.appendChild(field);
document.body.appendChild(form);
form.submit();
}
submitForm("Your user's name", "user@domain.com", "Here is my message");
缺点是你的邮箱地址会显示在地址栏上,并且浏览器会在继续之前显示一个验证码。
但是,我发现在多次提交后,Rest API 实际上开始正常工作。
希望对你有帮助