POST到外部URL (webhook),但重定向到不同的URL
POST to external URL (webhook) but redirect to different URL
在我的表单中,我将数据发布到一个外部url,这是一个webhook。在用户提交并将数据传递给webhook之后,我想将用户重定向到确认页面。
下面的代码有问题。当用户提交表单时,jQuery确实会将用户带到确认页面,但是表单数据不会触发webhook(数据不会被收集)。有人能告诉我哪里出错了吗?
下面是我的代码:
HTML
<form action="https://externalurl.com/webhook" method="POST">
<input id="email" name="email">
<input id="firstname" name="firstname">
<input id="lastname" name="lastname">
<button type="submit">Submit</button>
</form>
JQuery
$('form').submit(function() {
$.ajax({
type: 'POST',
url: $(this).attr('action'),
dataType: 'json',
success: function(json) {
window.location.href = "https://www.mypage.com/confirmation";
}
});
return false;
});
Thanks in advance
表单中有提交按钮吗?
您没有向webhook发送任何数据。试一试…
$('form').submit(function() {
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: {
"email": document.getElementById('email').value
// get other fields
},
dataType: 'json',
success: function(json) {
}
});
return false;
});
或者如果你的实际表单更大,那么有很多方法可以将整个表单的数据序列化成json。
编辑:如果你想调试你的ajax调用,那么chrome的开发者工具的网络选项卡将让你看到你发送到服务器的确切内容,以及它的响应。
如果web与webhook不在同一个域中,则必须在webhook服务器中配置CORS策略,或者使用jsonp等替代策略。
相关文章:
- 我的URL重定向安全吗
- 基于屏幕宽度的URL重定向
- HTML5/Javascript验证复选框提交URL重定向
- 基于变量的Javascript URL重定向无法正常工作
- 将使用 history.pushState() 创建的 URL 重定向到基本 URL
- 通过随机 url 重定向传递和添加参数
- 将 URL 重定向到子文件夹
- 如何使用jQuery根据引用/当前URL重定向页面
- Firefox 插件中的 OnBeforeRequest URL 重定向(从 Chrome 扩展程序转换)
- 带有 JavaScript URL 重定向的正则表达式
- 使用 JavaScript 使用 MD5 值进行 URL 重定向
- 当网址路径中有哈希时,Javascript url 重定向
- Angular.js:prettyPhoto URL重定向到Angular路由中提到的默认页面
- 将特定URL重定向到moblile上的另一个URL
- 使用javascript或jquery修改href-或-URL重定向/重写和模式匹配
- 从主页url重定向到url+锚点
- 如何在URL重定向后获得新的URL
- 正在获取另一个URL重定向到的URL
- 循环中的URL重定向
- 如何从一个URL重定向到另一个URL