如何使用 Fetch 发布 x-www-form-urlencoded 请求?

2024-02-17

我有一些参数想要以表单编码的方式 POST 到我的服务器:

{
    'userName': '[email protected] /cdn-cgi/l/email-protection',
    'password': 'Password!',
    'grant_type': 'password'
}

我正在像这样发送我的请求(目前没有参数)

var obj = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
  },
};
fetch('https://example.com/login', obj)
  .then(function(res) {
    // Do stuff with result
  }); 

如何在请求中包含表单编码的参数?


您必须自己组合 x-www-form-urlencoded 有效负载,如下所示:

var details = {
    'userName': '[email protected] /cdn-cgi/l/email-protection',
    'password': 'Password!',
    'grant_type': 'password'
};

var formBody = [];
for (var property in details) {
  var encodedKey = encodeURIComponent(property);
  var encodedValue = encodeURIComponent(details[property]);
  formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");

fetch('https://example.com/login', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
  },
  body: formBody
})

注意if你正在使用fetch在(足够现代的)浏览器中,您可以创建一个而不是 React NativeURLSearchParams https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams对象并将其用作主体,因为获取标准状态 https://fetch.spec.whatwg.org/#body-mixin如果body is a URLSearchParams对象,那么它应该被序列化为application/x-www-form-urlencoded。但是,你不能在 React Native 中执行此操作,因为 React Native不实施URLSearchParams https://github.com/facebook/react-native/issues/9596.

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

如何使用 Fetch 发布 x-www-form-urlencoded 请求? 的相关文章

  • 页面在 Google Adwords 转化跟踪上重定向

    我有一个表单 人们可以在其中提交数据 然后使用 ajax 将数据发送到服务器 我已将其设置为 Google Adwords 中的转化 下面是我使用过的代码 问题是 当用户提交表单时 在收到响应后 它会重定向回我给出的 URL 我不想重定向
  • 在具有子项的“contenteditable”div 中设置插入符位置

    我有一个这样的 HTML 结构 div This is some plain boring content div 我还有这个函数 允许我将插入符位置设置到 div 中我想要的任何位置 Move caret to a specific po
  • 在 onclick 事件上请求麦克风

    有一天 我偶然发现了这个 Javascript 录音机的例子 http webaudiodemos appspot com AudioRecorder index html http webaudiodemos appspot com Au
  • 如何在javascript中动态向对象数组添加值?

    这是一个对象数组 var data label 1 value 12 label 1 value 12 label 1 value 12 label 1 value 12 我如何动态地为这些添加值 我尝试了以下代码但没有成功 var lab
  • 如何使用 JavaScript 刷新页面?

    如何使用 JavaScript 刷新页面 Use location reload https developer mozilla org en US docs Web API Location reload 例如 每当元素带有以下内容时重新
  • 如何在 mongodb 聚合管道中使用 Javascript 对象?

    我有一个 JS 对象norm我想在 mongo 聚合管道中使用它 如下所示 var norm 1 1 2 1 16 3 1 413 4 1 622 5 1 6 6 1 753 7 3 001 8 2 818 9 3 291 10 2 824
  • 有什么方法可以复制 div 的渲染 HTML 吗?

    我正在开发电子邮件签名生成器 我想通过按按钮复制最终签名 而不是手动选择签名并将其复制到剪贴板 这意味着我需要它们的图像 文本和样式 我尝试了几种变体 包括 w3schools 的变体 但没有成功 其中一些只是复制文本 但没有样式 例子 h
  • 如何将“X-Content-Type-Options: nosniff”添加到我的网络服务器的所有响应标头中

    我正在运行一个 apache 网络服务器 我想将 X Content Type Options nosniff 添加到来自我的网络服务器的所有响应标头 我怎样才能做到这一点 是否可以通过更改 apache 配置文件来实现此目的 确保 mod
  • Dialogflow Fulfillment Webhook 调用失败

    I am new to dialogflow fulfillment and I am trying to retrieve news from news API based on user questions I followed doc
  • 如何将类型添加到 Vite 库构建中?

    我按照vite文档使用图书馆模式 https vitejs dev guide build html library mode我能够生成一个工作组件库 我创建了该项目vue ts预设 在我的组件中 我定义了道具及其类型 并使用了一些接口 但
  • Rangy:插入符号下的单词(再次)

    我正在尝试创建一个预输入代码以添加到 wysihtml5 富文本编辑器 基本上 我需要能够插入人员 标签引用 例如 Twitter Github Facebook 我发现一些人试图实现同样的事情的代码 http jsfiddle net A
  • D3 向对象添加超链接?

    我正在尝试制作 D3 图 它将代表我网站的菜单 我尝试按照此处的其他指南添加超链接 但它们都不起作用 每个对象都会有一个不同的 URL 指向 主页 关于 联系方式等 如果添加超链接 我可以拖动对象吗 这意味着如果我按住单击 如果我单击该对象
  • 引用自身的 Javascript 对象...有问题吗?

    由于 Javascript 允许通过引用分配复合值 因此如果 Javascript 对象引用自身 它将创建无限的引用集 如控制台中所示 这看起来像是某种无限循环 但 Chrome 似乎没有问题 这样做是否存在任何内存问题或其他风险 就记忆力
  • AngularStrap 工具提示禁用我的自定义指令

    我正在尝试让 bs tooltip AngularStrap 指令与我自己的名为 checkStrength 的自定义指令一起使用 该指令检查密码的强度 单独使用这些指令中的任何一个时 它们都可以正常工作 但不能一起工作 This http
  • 选择单选按钮时隐藏/显示 3 个文本框

    我有 2 个单选按钮 选择一个文本框时 我想显示 3 个文本框 并在选择其他文本框时隐藏它 这是代码 这是我的 2 个单选按钮
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对
  • 将两个数字相加将它们连接起来而不是计算总和

    我将两个数字相加 但没有得到正确的值 例如 做1 2返回 12 而不是 3 我在这段代码中做错了什么 function myFunction var y document getElementById txt1 value var z do
  • 使用ExternalInterface和IE从JavaScript获取Flash中的当前URL

    我正在尝试获取 Flash 播放器当前所在的 URL 不是 swf 文件的 URL 而是浏览器指向的 URL 到目前为止我已经使用过 var st String ExternalInterface call window location
  • 使圆圈与 d3.js 上的多线匹配相同的颜色过滤?

    我有一个多线图 当按每种水果过滤时会更新 每条线条颜色对应不同的销售年份 在 的帮助下Shashank https stackoverflow com users 5569282 shashank 每个数据点线上的圆圈已添加到组中 而不是直
  • Chrome 调试器注入 javascript

    我有这样的好奇心 是否可以以某种方式在我的页面中注入 javascript 并执行它并调试它 正如您在控制台中所做的那样 但在控制台中您无法暂停并观察变量 是否可以调试我通过控制台输入的代码 为什么无法调试通过 XHR 接收的代码 Than

随机推荐

  • Buildozer 构建在 NDK 构建时失败,给出 SDL_JAVA_PACKAGE_PATH 错误

    使用 Kivy 的 VM 2 0 设置时 Buildozer 0 34 会失败并出现此错误 我能够在 Ubuntu 16 04 中的不相关环境 无虚拟机 和相同的规范文件中复制它 日志输出 信息 标准输出 build app name an
  • 如何扩展操作栏中的导航列表?

    在 android 中 您可以通过传递微调器适配器和 OnNavigationListener 在操作栏中设置导航列表 问题是导航列表没有填充大部分操作栏 如何使其像 gmail 应用程序一样展开 Gmail 应用程序示例 My app 这
  • 如何在C#中应用多个.Tag属性?

    当我想存储 传递值时 我总是使用 Tag 属性 例如 当我存储值时 Form prosesEdit new FormProsesChemicalRawWbEdit prosesEdit Tag int this proses chemica
  • 目录级别 web.config 中的 Asp.net HttpModule

    我创建了一个自定义 http 模块 并希望将此模块添加到 Web 配置中 Web应用程序是一个包含多个 子应用程序 的项目 子应用程序只是一个文件夹 在该文件夹中它有自己的 web config 我这样做是为了让每个应用程序都有自己的应用程
  • 如何计算文件中字符串的出现次数?

    仅以这段代码为例 假装它是一个 HTML 文本文件 如果我想知道该文件的总次数echo出现了 我该如何使用 bash 来做到这一点 new user echo Preparing to add a new user sleep 2 addu
  • Facebook Php SDK - getUser() 始终返回 0

    我阅读了该论坛上的所有主题 但找不到解决方案 我使用 facebook 的最后一个 Php SDK v3 2 2 所以我用了这个 start fb facebook new Facebook array appId gt fb app id
  • Laravel:高级搜索表单查询

    我有一个高级搜索表单 可以使用 Laravel 从数据库中过滤结果 数据已正确过滤 但我要求用户能够使用相同的文本框 以高级形式 按名字或姓氏进行过滤 我尝试 orWhere 确保它用名字或姓氏过滤名称字段 但 orWhere 不考虑其他过
  • AngularJS 在 HTML 中留下注释:是否可以删除它们?

    有谁知道是否可以删除 html 代码中留下的角度注释 例如 如果我使用 ngRepeat 并且没有可重复的项目 AngularJS 会留下以下内容 此评论的结果是element嵌入执行者ngRepeat 看起来好像是一直在发生 https
  • 默认共享首选项使用的文件名是什么?

    安卓备份服务requires http developer android com guide topics data backup html SharedPreferences用于备份共享首选项的文件名 public static fin
  • 如何在数据框列表上使用 devtools::use_data?

    我有一系列数据框 我想将它们保存为包中的单独 rda 文件 我可以用devtools use data my df1 my df2 但我没有每个数据帧的命名对象 它们都存储在一个大列表中 我想要做的是为每个列表元素调用 use data 并
  • 如何从我的代码中删除重复项

    我有两个类似的方法 其中一个打印一些东西 其中一个保存一些东西 正如你所看到的 有很多重复的代码 我应该如何重构它并删除这种重复 public static void printSomething List
  • 在玩笑中模拟节点模块中的特定类

    我想嘲笑Socket类来自net节点模块 Docs https nodejs org api net html net class net socket 我有一堂课看起来像这样 import Socket from net class Fo
  • 在浏览器上通过php运行python脚本

    我有一个简单的 python 脚本 阿努巴哈 py usr bin env python coding UTF 8 enable debugging import cgitb import pandas cgitb enable print
  • 将新项目动态添加到 IQueryable 硬编码假存储库

    在使用真正的数据库之前构建应用程序 为了让事情正常工作 我可以首先使用硬编码列表作为假的内存存储库 public class FakeProductsRepository private static IQueryable
  • RecyclerView 项目不填充宽度

    我设计了一个带有地图片段和recyclerView的布局 每个recyclerView项目都是cardview 我已经指定给出xml布局 问题是 RecyclerView 项目不填充屏幕宽度 img here https i stack i
  • Scrapy图片下载如何使用自定义文件名

    For my scrapy http doc scrapy org index html我目前正在使用的项目图片管道 http doc scrapy org topics images html scrapy contrib pipelin
  • 防止小部件填充 Flutter 中扩展的祖先

    我如何保留一个RaisedButton从扩大到填补Expanded包含它 我想创建三列 其宽度与可用空间成比例 但我希望每列中的子项为其自然大小 而不消耗其父项的整个宽度Expanded Widget controls BuildConte
  • 如何将多部分表单数据从jsp发送到Web服务?

    我正在尝试为我的网站创建一个注册页面 当用户将数据提交到signup jsp时 我想使用 application x www form urlencoded 将此数据发送到我的Web服务 我怎样才能在JSP中做到这一点 尝试了以下代码 但这
  • 如何将字符串从函数传递到主函数?

    我尝试寻找解决方案 但未能找到 是否可以返回字符串 我想将一个字符串从下面的函数传递回 main 我想通过listofdeatils string 这是我的代码 include
  • 如何使用 Fetch 发布 x-www-form-urlencoded 请求?

    我有一些参数想要以表单编码的方式 POST 到我的服务器 userName email protected cdn cgi l email protection password Password grant type password 我