控制台错误 - POST http://formspree.io/myemail@myemail.com 400(BAD 请求)发送@ jquery.min.js:4
我无法使用Formspree提交表单。错误显示:
无法加载资源:服务器响应状态为400 (不良请求)
我尝试将网址更改为https://formspree.io/myemail@myemail.com。我在过去10天内一直面临这个问题,之前没有任何问题。这是在Google Chrome 64版上测试的。有人可以帮我解决这个问题。
答案 0 :(得分:0)
不幸的是,现在为Formspree上的Gold用户保留了AJAX提交。
要解决此问题,您可以创建一个<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实际上开始正常工作。
希望有所帮助