首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于飞行前响应中的访问控制允许方法,无法发送PUT请求

由于飞行前响应中的访问控制允许方法,无法发送PUT请求
EN

Stack Overflow用户
提问于 2017-09-12 16:06:17
回答 2查看 2.6K关注 0票数 2

我知道,这是一个非常常见的话题,我已经检查了很多关于堆栈溢出的问题。但我的案子有点不同,因为我不明白问题所在。基本上,我知道如何处理CORS,我已经尝试了许多解决方案。

让我解释一下情况:

我的设置是一个Ionic项目(在本地主机上),它通过http请求发送一个PUT到我自己托管的Directus Headless-CMS。完美地完成工作。当我通过邮递员尝试这个请求时,效果很好。我知道邮递员在它的请求中会自动发送额外的标题。我也试图将它们添加到我的代码中,但仍然是相同的回复消息。

这是Ionic内部的响应代码片段。

代码语言:javascript
复制
  var jsonbody = {};
  jsonbody['german'] = "lorem ipsum";
  jsonbody['turoyo'] = "lorem ipsum";
  jsonbody['description'] = "lorem ipsum";
  console.log(jsonbody);

  this.http.put('http://example.com/api/1.1/tables/translation/rows/1?access_token=myaccesstoken', jsonbody, {headers: headers})
    .subscribe(
      (response) => {
        //foo
      },
      (error) => {
        //bar
      },
      () => {
        //foobar
      }
    );

在我的浏览器控制台中,我在尝试请求后得到以下消息:

XMLHttpRequest无法加载token=myaccesstoken。飞行前响应中的访问控制-允许-方法不允许使用PUT方法.

在邮递员里,它像微风一样工作。看

您还可以在Postman中为该请求生成相应的代码片段。在这种情况下是:

有人知道我做错了什么吗?也许我只是错过了一个细节。我还试图添加标题到我的nginx站点启用配置。但这并没有什么区别。但这对我来说毫无意义,因为邮递员确实发出了请求。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-11-23 07:23:09

您是否将CORS设置添加到/[directus]/api/.htaccess文件中?

代码语言:javascript
复制
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
票数 2
EN

Stack Overflow用户

发布于 2017-09-13 07:57:38

最后,我尝试了这个解决方案,它起作用了:

https://michielkalkman.com/snippets/nginx-cors-open-configuration/

我只是把CORS的陈述放进我的位置规则。

不管怎么说,我觉得很奇怪,这和我提到的工具起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46181050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档