使用 Fetch API 来 POST XML

2024-04-15

我正在尝试使用 Fetch API 来处理 XML 数据的 POST,以避免 XmlHttpRequest 的跨域问题。我面临的问题是,尽管将我的 Content-Type 设置为“text/xml”(在本例中这是唯一受支持的内容类型标头),但我的请求的内容类型被重置为 text/plain,导致 HTTP 状态为415 来自所请求的内容。

这是我的获取函数:

    function doFetch(Content)
    {
        return fetch(
        URL, { method: 'POST',
           mode: 'no-cors',
           headers: new Headers(
           {'Content-Type': 'text/xml; charset=utf-8',
            'Accept': '*/*',
            'Accept-Language': 'en-GB',
            'Accept-Encoding': 'gzip, deflate',
            'Connection': 'Keep-alive',
            'Content-Length': Content.length                
            }),
            body: Content
           });
    }

内容是一串 XML 数据。

这是实际使用的标头:

    Content-Length:1537
    content-type:text/plain;charset=UTF-8

只是想知道我想做的事情是否可能,以及我是否做错了? (我对网络开发有点陌生)。

Thanks!


因为你正在设置mode: 'no-cors'(为什么?...)对于请求,浏览器不允许您设置除CORS 安全列表请求标头 https://fetch.spec.whatwg.org/#cors-safelisted-request-header. See 规格要求 https://fetch.spec.whatwg.org/#dfnReturnLink-2:

……如果守卫是“request-no-cors" and name/value不是一个CORS 安全列表请求标头 https://fetch.spec.whatwg.org/#cors-safelisted-request-header, 返回。

Setting Content-Type: text/xml; charset=utf-8使其不再是 CORS 安全列表请求标头;Content-Type仅当其值为 CORS 安全列表请求标头时application/x-www-form-urlencoded, multipart/form-data, or text/plain.

所以这里解决方案的开始是不使用mode: 'no-cors'.

通常唯一有意义的情况是设置mode: 'no-cors'是如果您使用 Service Workers 来缓存响应 - 因为对于mode: 'no-cors'请求时,浏览器不会让您的脚本访问响应的任何属性,因此您可以用它做的唯一有用的事情就是缓存它。

我正在尝试使用 Fetch API 来处理 XML 数据的 POST,以避免 XmlHttpRequest 的跨域问题。

Fetch API 遵循与 XHR 相同的跨域请求模型,因此不清楚您将尝试使用 Fetch API 来避免哪些跨域问题……

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

使用 Fetch API 来 POST XML 的相关文章

随机推荐

  • 将网络摄像头从浏览器流式传输到 RTMP 服务器

    我正在尝试将一些内容从浏览器的网络摄像头实现流式传输到随机 RTMP 服务器 我让它工作到每 2 秒将 WEBM 我相信是 VP8 编码的电影片段发送到我的服务器的部分 但棘手的部分是从该部分将其发送到 RTMP 服务器 对 FFMPEG
  • 如何简单地解析没有指定年份的日期?

    我有一个工具 它似乎可以给我日期 但没有指定我需要转换的年份 并且我正在使用 Java 来完成任务 实际上是 Groovy 但在本例中足够接近 示例日期是 13 Dec 12 00 00 它应该指的是 12 13 2011 因为年份未指定
  • HTML 俄语

    我必须设计一个俄语版本的网站 我从翻译那里得到文本 我把它复制到Dreamweaver的代码中 但它不起作用 我有平常的头 我应该怎么办 您应该将文件的编码更改为 UTF 8 您可以执行此过程 当您Save As文件在记事本中或者您可以使用
  • OpenSSL 上的 EVP_DecryptFinal_ex 错误

    我正在使用 OpenSSL EVP 例程使用 AES 128 cbc 模式进行解密 我使用 NIST 站点指定的测试向量来测试我的程序 该程序似乎在 EVP DecryptFinal ex 例程处失败 谁能告诉我有什么问题吗 另外 我如何在
  • 处理 Swift 2 中异步闭包错误的最佳方法?

    我使用了大量的异步网络请求 顺便说一句 iOS 中的任何网络请求都需要异步 并且我正在寻找更好的方法来处理来自 Apple 的错误dataTaskWithRequest哪个不支持throws 我有这样的代码 func sendRequest
  • 创建名称为“securityConfig”的 bean 时出错:自动装配依赖项注入失败

    我正在尝试结合 Java config 和 xml config 进行 Spring 安全身份验证 但我收到一个错误 创建名称为 securityConfig 的 bean 时出错 自动装配依赖项注入失败 我的代码似乎有什么问题 一直在谷歌
  • 无法在 Ubuntu 上的 PyCharm 上启动终端

    我想运行一段代码 为此 我在我的 Ubuntu 机器上安装了 PyCharm 现在 当我打开 PyCharm 应用程序并尝试打开终端时 它会抛出错误并且不会打开终端 java io IOException Exec tty错误 未知的pyc
  • 管理面板中的 django choicefield 过滤器

    默认情况下 django 管理员list filter提供型号选择中所有可用的过滤器 但除了那些我还想要一个过滤器 我们可以说它是 无 过滤器 class Mymodel char choice field choices 1 txt1 2
  • 18M+行表的子查询和MySQL缓存

    由于这是我的第一篇文章 我似乎只能发布 1 个链接 因此我在底部列出了我所指的网站 简而言之 我的目标是让数据库更快地返回结果 我尝试包含尽可能多的相关信息 以帮助在帖子底部提出问题 机器信息 8 processors model name
  • 在 Snowflake 的公共表表达式中使用“match_recognize”

    更新 已回答here https stackoverflow com questions 68544567 match recognize with cte in snowflake 68550312 68550312 我正在将一个有点复杂
  • 如何找到逻辑回归模型特征的重要性?

    我有一个通过逻辑回归算法训练的二元预测模型 我想知道哪些特征 预测变量 对于正类别或负类别的决策更重要 我知道有coef 参数来自 scikit learn 包 但我不知道它是否足够重要 另一件事是我如何评估coef 值对于消极类和积极类的
  • 在 R 中:带有向量变量的子集或 dplyr::filter

    df lt data frame a LETTERS 1 4 b rnorm 4 vals lt c B D 我可以过滤 子集df值在val with dplyr filter df a in vals subset df a in val
  • 将上三角矩阵转换为对称矩阵的快速方法

    我有一个上三角矩阵np float64值 像这样 array 1 2 3 4 0 5 6 7 0 0 8 9 0 0 0 10 我想将其转换为相应的对称矩阵 如下所示 array 1 2 3 4 2 5 6 7 3 6 8 9 4 7 9
  • Python:如何获取仅出现在一组列表中的一组中的项目?

    我想创建一个函数 它接受一个或多个集合的列表 并查找列表中所有集合的对称差异 即结果应该是一组值 每个值仅包含在其中一个值中套 如果我对对称差异的理解是错误的 请纠正我 例如 gt gt gt s1 set 1 2 3 gt gt gt s
  • 如何将Java项目导入到Eclipse中?

    我试图导出一个 Java 项目 我可以使用选项 Export gt Java gt JAR file 创建 JAR 文件 我无法将此 jar 文件导入到 Eclipse 中 没有 java 的导入选项 我在这里做错了什么吗 使用面向 Web
  • 使用系列查找表替换 Pandas DataFrame 列中的值

    我想用我准备的系列形式的查找表生成的更准确 完整的一组值替换 DataFrame 中的一列值 我以为我可以这样做 但结果并不如预期 这是我要修复的数据框 In 6 df normalised head 10 Out 6 code name
  • 我的代码中某处存在无限循环

    我有这个 Java 游戏服务器 最多可处理 3 000 个 tcp 连接 每个玩家或每个 tcp 连接都有自己的线程 每个线程的运行情况如下 public void run try String packet char charCur ne
  • 使用 Linq 按可变整数范围进行分组

    我试图根据整数的范围对一组数据进行分组 范围不以固定间隔增加 例如我有 商品编号 价格1 102 303 504 120 我想将价格为 0 10 11 100 和 100 500 的商品分组 因此 项目 1 在 A 组中 项目 2 3 在
  • tkinter 中从右到左的文本

    我使用的是 RTL 语言 并且我需要我的文本为 RTL 有办法做到吗 我怎样才能证明我的文字合理 例子 from tkinter import from tkinter constants import root Tk text Text
  • 使用 Fetch API 来 POST XML

    我正在尝试使用 Fetch API 来处理 XML 数据的 POST 以避免 XmlHttpRequest 的跨域问题 我面临的问题是 尽管将我的 Content Type 设置为 text xml 在本例中这是唯一受支持的内容类型标头 但