gpt4 book ai didi

javascript - 更改 Content-Type 时,Http-Method 从 POST 更改为 OPTIONS

转载 作者:搜寻专家 更新时间:2023-11-01 05:06:35 25 4
gpt4 key购买 nike

我正在使用闭包库来做一个简单的 POST。我认为 XhrIo 应该可以工作,因为当我使用任何其他 rest 客户端(如 Firefox 浏览器应用程序 RESTClient 或 Chrome 的 Simple Rest Client)时,我可以从我的机器向服务器发出 POST 请求,内容类型为 application/json。

但是我无法从我的申请中发帖。我正在使用以下代码

xhr = new goog.net.XhrIo;
xhr.send('http://myhost:8181/customer/add','POST', goog.json.serialize(data));

如果我保留标题默认值,我会得到这个

Encoding: UTF-8
Http-Method: POST
Content-Type: application/x-www-form-urlencoded;charset=UTF-8

如果我尝试通过将 {'content-type':'application/json'} 作为第 4 个参数传递来更改 header , header 将更改为

Http-Method: OPTIONS
Content-Type:

难道我不能像 RESTClient 使用 JQuery 对 XMLHttpRequest 所做的那样,使用 Closure 库适本地更改 header 吗?

还有什么方法可以改变标题使其看起来像这样

Encoding: UTF-8
Http-Method: POST
Content-Type: application/json;charset=UTF-8

感谢任何帮助艾迪

最佳答案

当您向 XHR 对象添加 header 时,大多数浏览器都会执行预检请求,这就是您看到的 OPTIONS 方法。不幸的是,如果您要添加自定义 header ,则无法避免这种情况。 POST 将在 OPTIONS 之后发送。

This article稍微解释一下 OPTIONS 请求。 I ran如果有任何帮助,请进入前一段时间的预检问题。

如果您对 OPTIONS 请求有特定问题,您应该编辑您的问题以包含它们;否则,这是预期的行为。

关于javascript - 更改 Content-Type 时,Http-Method 从 POST 更改为 OPTIONS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11378075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com