【问题标题】:Tabulator ajax request and CORSTabulator ajax 请求和 CORS
【发布时间】:2019-04-14 04:15:15
【问题描述】:

我在为制表符 ajax 请求禁用 CORS 时遇到问题。尝试使用 ajaxConfig 中传递的 fetch 配置中的值,但无济于事。如果我取出 ajaxConfig 我会遇到 CORS 但如果我发送 ajaxConfig 的东西我会收到一个错误:加载错误 - 连接错误:TypeError:无法在“窗口”上执行“获取”:使用 GET/HEAD 方法的请求不能有正文. 下面的代码 - 感谢您的任何想法

var table = new Tabulator("#example-table", { ajaxURL:"https://amz-apigw/xx", ajax 配置:{ 方法:“获取”, 模式:“无cors”, 凭据:“省略”, 标题:{ "内容类型": '应用程序/json;字符集=utf-8' } } });

【问题讨论】:

    标签: cors fetch tabulator


    【解决方案1】:

    Tabulator 使用 CORS 的标准获取配置,默认情况下禁用,无需设置模式,或更改任何默认选项,因为默认情况下不使用 CORS。

    如果您在控制台中收到 CORS 警告,则问题可能是您请求数据的服务器位于不同的域中,并且设置为拒绝跨域获取请求。

    我建议先检查服务器的配置,然后阅读Fetch API Guide

    【讨论】:

    • 通过将mode: 'no-cors' 添加到我的 ajaxConfig 中,我设法解决了 Azure 的 CORS 问题
    • 快速更新 - 我认为添加 mode: 'no-cors' 可能会导致带有“不透明”响应的 Ajax 加载错误,因此可能不是解决方案!
    • @oli-folkerd - 我在一个页面上收到 CORS 错误,尝试从一个地址访问 JSON,但尝试来自同一服务器(IP 地址)的另一个 JSON 请求效果很好。可能是什么问题?
    • 这就是 CORS 的意义所在,只有当您尝试从来自不同源域的浏览器向页面加载位置发出获取请求时,它才会启动,它是内置的浏览器的安全功能。服务器必须配置为接受 CORS 请求
    【解决方案2】:

    我也有同样的问题。它适用于 Tabulator 3.5,但不适用于 4.1。我确实为 CORS 配置了服务器:

    router.use(function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); res.header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS'); 下一个(); });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-15
      • 2013-12-24
      • 1970-01-01
      • 2015-03-01
      • 2014-09-13
      • 1970-01-01
      • 2016-04-29
      • 2013-12-06
      相关资源
      最近更新 更多