【问题标题】:How to make cross origin calls in apostrophe cms如何在撇号 cms 中进行跨源调用
【发布时间】:2018-06-28 05:04:47
【问题描述】:

我正在尝试对我的 API 进行 CORS 调用。

$.ajax({
        url: baseURL + '?' + qString,
        contentType: 'application/json',
        success: function (response) {
            cb(null, response.objects);
        },
        failure: function (err) {
            failureHandler(err);
            cb(err);
        },
    });

但我遇到了一个错误

Request header field X-XSRF-TOKEN is not allowed by Access-Control-Allow-Headers in preflight response.

我什至尝试通过在 app.js 中传递它来禁用 CRFS

'apostrophe-express': {
  csrf: false,
},

但它什么也没做,有没有办法可以禁用此行为并进行 CORS API 调用。

【问题讨论】:

  • 嗨 Priyansh,您访问的 URL 是在同一个站点上吗?我想知道我们是否在跨域 API 调用中强制使用此功能。如果是,那是我们需要修复的错误。但是,如果它是对同一个网站的调用,由于我们的 XSRF 中间件(以及我们为自定义路由创建例外的功能),您应该不会有问题。当然,如果您正在与其他人的网络服务器交谈,那么这些异常功能并没有多大用处......这就是为什么它可能是我们必须修复的错误。
  • baseURL here 不在同一个站点上,这意味着您可能会在 CORS 调用中强制使用此功能
  • @TomBoutell 这个 PR 修复了这个问题 github.com/apostrophecms/apostrophe/pull/1300

标签: javascript jquery cors apostrophe apostrophe-cms


【解决方案1】:

我们已经接受了您的 PR 豁免跨域调用,因此从下一个版本(可能明天)开始,这个问题将得到解决,并且不应该面对下一个开发者。

【讨论】:

  • 这已发布到 npm。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多