问题标签 [http-options-method]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2457 浏览

javascript - 为什么 javascript fetch 只进行 OPTIONS 而不进行进一步调用?

我正在使用 javascript fetch 发出 AJAX 请求,但它只是进行 OPTIONS 调用,而不是进一步调用。最奇怪的是响应头很好,并且 $.ajax 按预期工作。

这是 OPTIONS 调用的响应标头。

这是获取标头集。

0 投票
1 回答
47 浏览

http - 我应该如何表明我的 HTTP 服务器支持压缩请求?

我被要求通过压缩发送到服务器的数据来减少我们应用程序的带宽需求。我试图在不更改 API 的情况下透明地执行此操作,即继续使用相同的 URL 和内容类型。我在如何为IIS 7 上的 SOAP WebService 的 POST(上传)请求启用 GZIP 压缩?

我认为新客户端被配置为与旧版本的服务器通信存在风险,即客户端向无法处理它的服务器发送压缩请求。我想以符合标准的方式检测支持。问题是,我找不到说明应该如何完成的来源。

我的想法是我应该将Accept-Encoding: gzip标题添加到OPTIONS响应中。我们已经发送了OPTIONSCORS 的预检请求,因此捎带似乎可以节省延迟。但我找不到一个消息来源说这个标头在OPTIONS响应中是有效的。RFC 7231 对 OPTIONS 的定义只是简单地定义了方法,而没有详细说明可以指定的内容。

是否有任何标准表明可以发送压缩请求?

0 投票
1 回答
1829 浏览

android - 如何在没有文档的情况下检查 api?

我必须在没有任何文档的情况下为我的 android 应用程序使用 API。在我工作之前,我总是有文档,所以这对我来说是一个新情况。后端开发人员表示他们的 api 支持选项请求。如何发送选项请求?使用浏览器还是什么?以及如何找出我应该在 POST 请求的正文中放入什么?提前感谢您的帮助!

0 投票
2 回答
19341 浏览

node.js - 为什么即使我的前端代码只是发出 POST 请求,浏览器也会发送 OPTIONS 请求?

我的前端代码:

我的 Express.js 服务器代码:

当我提交表单时,我收到了两个请求。其中一个是 OPTIONS 请求,另一个是 POST 请求,并且对它的响应是正确的:

对 /search 的两个请求,响应代码为 200 对 localhost:8000/search 的 OPTIONS 请求 对 localhost:8000/search 的 POST 请求

如您所见,Express 服务器运行在 8000 端口,而 React 开发服务器运行在 3000 端口。localhost:3000正在请求localhost:8000/search,并且localhost:8000正在通过使用 POST 方法请求另一个源。但是,只有第二个请求运行良好。我不知道这是怎么发生的。当然,如果我使用查询字符串发出 GET 请求,一切正常。但我也想知道如何使用请求正文进行 POST 获取。

0 投票
1 回答
1811 浏览

javascript - 在 CORS 预检请求期间,Uber 的 API 返回 404

我正在尝试在我的 JavaScript 客户端中使用 Uber API。

我知道这涉及 CORS,因为我的客户将直接通过 AJAX 访问 Uber API。

在 Uber Developers Dashboard 中,我正确设置了我的 Origin URI。然后,我设置了我能找到的最简单的例子。这来自 Uber 的文档:

查看 Chrome 开发工具中的控制台,这就是我所看到的:

开发工具控制台

而且,最有趣的是“网络”选项卡:

开发工具网络

我的浏览器正在将我的 HTTP POST 更改为 HTTP OPTIONS 请求(在 fetch 规范中定义的 CORS 预检的一部分),看起来 Uber 不支持。Uber 的服务器应该回复响应标头,授权我的客户端完成其 API 请求。相反,他们返回 404。

总之:

  • Uber 的文档说他们支持 CORS。
  • 我在 Uber 的开发者仪表板中正确设置了我的 Origin URI
  • CORS 规范说,如果我正在使用 Authorization 标头进行 HTTP POST,那是一个不简单的请求,并且需要 HTTP OPTIONS 预检。
  • 我的浏览器正是这样做的,使用 HTTP 方法 OPTIONS 发送请求,其中包含 Origin 标头(与我的 Uber Developer Dashboard 中设置的 Origin URI 匹配。)
  • Uber 正在返回状态 404(未找到)

有人知道这里发生了什么吗?

0 投票
1 回答
489 浏览

spring-boot - 弹簧靴中的 CORS

我在下面的链接中添加了过滤器作为问题的答案

Spring Boot Data Rest + CORS 未正确启用 OPTIONS/DELETE

我修改后的代码是:

我已经尝试了 doFilter 以下两种情况。

但是我得到了相同的 403 选项。

请让我知道我应该添加什么来工作。

0 投票
1 回答
458 浏览

web - 关于如何使用 CFHTTP 方法=选项的文档

我真的找不到cfhttp method=options.

我在许多网站上看到了cfhttp具有名为 的方法的文档options,但它们并没有真正展示我们如何使它工作。我试图搜索 http options,但对如何使用它、它的实际用途是什么以及如何实现它一无所知。

0 投票
3 回答
11783 浏览

node.js - 使用 NestJS 在 OPTIONS 上找不到 404

我是 NestJS 的新手,在我的网络应用程序尝试查询的每条路线上,它都在 OPTIONS 请求上失败,得到:

{"statusCode":404,"error":"Not Found","message":"Cannot OPTIONS /authenticate"}

但是尝试直接 GET 或 POST 请求可以正常工作。

0 投票
1 回答
358 浏览

asp.net-web-api - 问题通过 html5 FormData 将 multipart/form-data 发布到 c# Api

FormData Post我的问题是,当我在此处检查多部分数据时,我的 c# api 控制器正在回退请求: IsMimeMultipartContent(),然后将消息返回给 UI:

我的前端有效负载如下所示:

  • 请求标头

  • 请求有效载荷

我的前端正在发送FormData,在以下 TypeScript 方法中生成,然后调用importService下面的进一步:

所以基本上我想确切地知道http我缺少什么选项来工作。

谢谢你。

0 投票
0 回答
198 浏览

http - Shopify PUT 请求在 OPTIONS 预检时失败并出现 404

我在我的应用程序中使用 AXIOS 来访问 shopify admin api。我正在使用元字段更新客户(据我了解,店面 API 不支持 graphql)。我在执行 PUT 时收到预检选项错误。错误是 404。我试图点击的项目确实存在,所以我想知道 shopify 是否错误地处理了请求,或者我的配置中是否缺少某些内容。

注意:我可以通过 Postman 成功完成相同的请求。据我所知,邮递员没有进行选项预检。

我的代码:

错误

请注意,在此 axios 调用时,客户实际上确实存在。