POST 请求 Fetch API 防止重定向

2024-02-05

所以我想制作一个纯html和javascript表单并将其提交到服务器。

这是我的 html 表单代码:

<form id="email-signup" action="http://www.server.com" method="post">
    <input id="firstname-input" type="hidden" name="firstname" value="">
    <input type="text" name="email" placeholder="Input Email">
    <input type="hidden" name="campaign[id]" value="1">
    <input type="hidden" name="campaign[name]" value="Text Campaign">
    <input type="submit" value="Submit">
</form>

这是我的 JavaScript 代码:

var element = document.getElementById("email-signup");
element.addEventListener("submit", function(event) {
  event.preventDefault()
  fetch("http://www.endpoint.api", {
    method: "POST",
    body: new FormData(document.getElementById('email-signup'))
  })
})
  .then(() => {
  alert('Selamat email anda sudah terdaftar!')
})

问题是,每当我向该表单提交电子邮件时,它都会将我重定向到一个新页面并显示成功响应。我想防止这种情况发生,而是会弹出一个警报,告诉我电子邮件提交已成功。


你把.then在错误的地方 - 将其放在正确的位置之后fetch,而不是在事件监听器之后。

var element = document.getElementById("email-signup");
element.addEventListener("submit", function(event) {
  event.preventDefault()
  fetch("", {
    method: "POST",
    body: new FormData(document.getElementById('email-signup'))
  }).then((res) => {
    if (res.ok) alert('Selamat email anda sudah terdaftar!')
  })
})

一致的缩进将帮助您避免将来出现类似问题。 (看到你的问题,我修复了格式 - 应该很清楚现在的问题是什么)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

POST 请求 Fetch API 防止重定向 的相关文章

  • 如何将背景图像仅应用于一个反应页面而不是整个应用程序?

    注册页面示例 register background image linear gradient to right ff5722 0 ff9800 100 margin top 150px important div div div div
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • 动态img(或视频)标签根本不加载资源,HTTP请求处于“待处理”状态

    我尝试使用以下方法在 Web 应用程序上加载资源时遇到一些问题img or videoHTML 标签 我在我的应用程序中使用 Angular 并动态设置src的参数img标签 使用ng src src 指示 没有那么多图像和资源需要加载 在
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • 如何阻止破折号自行包裹?

    我有一个标题 标题最后一个单词的末尾是一个破折号 单词和破折号之间没有空格 当浏览器窗口变小时 破折号会中断并换成新行 在自己的行上有一个破折号是不好的排版 如何停止破折号之前的换行 以便最后一个单词运行到新行 这是代码 h1 XYZ co
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • 如何在jquery中以相反的顺序迭代元素? [复制]

    这个问题在这里已经有答案了 我是jquery的新手 我想知道如何使用each 在jquery中以相反的顺序迭代表单元素 任何帮助 将不胜感激 尝试这个 input get reverse each function
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • Schema.org 的常见问题解答页面

    我有一个常见问题解答页面 我想用更好的 html 架构来实现它
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • 使用雷达/极坐标图来描述各个数据点

    这是继我之前的帖子之后 如何在ggplot2中测量多边形的面积 https stackoverflow com questions 47644156 how to measure the area of a polygon in ggplo
  • 如何验证GPU的使用情况?

    如何验证 CNTK 是否正在使用 GPU 我已在我的计算机上安装了 CNTK 2 0 beta7 0 Windows 64bit GPU 1bit SGD 二进制文件 但是 当我尝试从 Python 运行它时 from cntk devic
  • C++ - 自动返回引用和非引用类型

    当编写函数时auto我们可以使用的返回类型constexpr if返回不同类型 auto myfunc constexpr if someBool type1 first something return first else type2
  • 匹配后替换行

    给定这个文件 cat foo txt AAA 111 BBB 222 CCC 333 我想替换之后的第一行BBB with 999 我想出了这个命令 awk BBB f 1 print next f 1 999 f 0 1 foo txt
  • Stacktrace Java Eclipse 中的未知来源

    我有一个非常烦人的问题 当在 Eclipse 中从源代码中导出 jar 文件时 我不会在堆栈跟踪中获得有关发生错误的源代码和行号的信息 我已经检查了 ecplise 中项目的编译器设置 并且设置了类文件生成部分中的所有选项 我正在为 Min
  • 如何使用 VB 6.0 生成格式良好的 XML 文件?

    我正在开发 Visual Basic 6 0 项目 需要生成一个格式良好的 XML 文件 其如下所示
  • RESTEasy - 使用重复的缓存控制进行响应 - Wildfly10

    我有一个带有图像的 GET 响应 GET Path id thumbnail public Response readThumbnailById PathParam id String id QueryParam serviceContex
  • 如何删除没有标签的Docker镜像?

    我使用 docker 已有 5 个月了 从来没有遇到过这个问题 我有 2 个具有相同 ID 的图像 因此我想删除我知道它已被弃用的图像 问题是它没有 ID 当我尝试这样做时 dk rmi f gitlab lab 5005 xs mgmt
  • Scala:如何使用默认值初始化对象

    我认为用一个例子可以更好地解释这一点 我有以下案例类 case class Person name String no name surname String no surname 我想创建一个通用函数来填充它 例如 一条 json 消息
  • 具有配置的类库中的 Entity Framework 7 迁移脚手架

    尝试将迁移添加到 ASP NET 5 类库中的 EF7 模型 跑步时dnx ef migration add mymigration失败并产生不同的结果 具体取决于我运行它的项目 如果我在主项目的文件夹中运行它 它无法找到DbContext
  • 返回多个值并访问它们?

    我将如何构造它以返回多个值 消息和名称 并能够在js html file code gs function createArtistTable name var message test return message and name js
  • 如何使用 Fetch API 发布身体数据?

    下面是在邮递员中导入并运行后成功返回响应的curl命令 curl request POST data grant type password data username test data password xyz1234 data sco
  • SQL命令添加数据库图表

    sql server 2008 上是否有一个 sql 命令可以运行以启用数据库图表而不是出现此对话框 该数据库没有使用数据库图表所需的一个或多个支持对象 你想创造它们吗 该脚本有点太长 无法在此处添加 但您可以执行以下操作 1 创建一个新的
  • 如何从 bode() 到达第一个和第二个图

    我知道如何使用 bode 函数创建波特图 如果我想重叠两个或多个系统频率响应 我使用 bode sys1 sys2 or hold on 例如 当我想要到达该图以便用 text 放置图例时 很容易到达第二个图 像图形指针这样的东西总是返回到
  • 错误:“不推荐使用 Window 类型中的 show() 方法”

    这是一个简单的程序 只需打开 AWT 我正在使用 eclipse 并且我收到上面显示的frame show 的错误 Eclipse 正在用一条线跨越 显示 我想要这个程序做的只是显示一个 300px x 300px 的框架窗口 完整代码如下
  • Apache 无法在 OSX 中的 MAMP 中启动(但 MySQL 可以工作)

    我已经使用 MAMP 工作了几个月 最近安装了 PostgreSQL 它还建议安装 Apache 我这样做是为了确保 PostgreSQL 正常工作 然后我卸载了 PostgreSQL 和 apache 构建并尝试重新启动 MAMP 它启动
  • 如何为 Android 制作局域网唤醒?

    你能告诉我 如何为Android制作Wake On Lan应用程序吗 我在谷歌上搜索了两周 尝试了一切 从另一个唤醒局域网应用程序下载了源代码 并尝试找到用于制作和发送魔术包的代码 看起来其他所有代码都可以工作 但是当我在我的应用程序中使用
  • 初级 Java:变量作用域问题

    我正在练习我的java书中的一些工作 并且在获取使用变量进行计算的方法时遇到问题 请注意 这是一项正在进行的工作 我目前只是试图让它使用 CircleArea 方法来计算圆的面积 这是必要的代码 public class Geometry
  • Laravel“目标 [Illuminate\Contracts\Bus\Dispatcher] 不可实例化。”

    正如标题本身所说 我遇到了以下问题 Target Illuminate Contracts Bus Dispatcher is not instantiable 我正在尝试使用自定义脚本并包含默认的 Laravel 类 require on
  • POST 请求 Fetch API 防止重定向

    所以我想制作一个纯html和javascript表单并将其提交到服务器 这是我的 html 表单代码