gpt4 book ai didi

javascript - Angular ajax 发布到 FormSpree.io

转载 作者:行者123 更新时间:2023-11-29 21:44:36 24 4
gpt4 key购买 nike

我目前有一个 jQuery 脚本可以将 ajax 发送到 http://formspree.io (静态表单提交)。他们的文档说要这样做:

$.ajax({
url: "//formspree.io/you@email.com",
method: "POST",
data: {message: "hello!"},
dataType: "json"
});

在我自己的 jQuery 脚本中 - 我有这个也可以工作:

jQuery.ajax({
type: "POST",
url: "http://formspree.io/email@example.org",
data: 'name=' + name + '&_replyto=' + email + '&message=' + message;,
dataType: "json",
});

但是我在 Angular 中实现此目的的努力失败了 - formspree 声称我正在提交一个空表单。

$http({
url: "http://formspree.io/email@example.org",
data: {
email: email,
message: message
},
method: 'POST',
headers: {
'Content-Type': 'application/json'
}

$http({
url: "http://formspree.io/email@example.org",
data: 'email=...&message=...',
method: 'POST',
headers: {
'Content-Type': 'application/json'
}

我能做到:

data: 'first=hgf&last=ghfgh',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},

但这导致 FormSpree 认为我不是 ajax 我认为并尝试加载感谢页面。我不清楚这是否是原因。我收到了表格,但它会抛出关于感谢页面的错误。

想法?

最佳答案

您应该以 form-urlencoded 格式发送数据:

$http({
url: "http://formspree.io/email@example.org",
data: $.param({
email: email,
message: message
}),
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
}
});

关于javascript - Angular ajax 发布到 FormSpree.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31667878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com