如何修复对 etherpad 的 $http.get 请求上的“403(禁止)”

Posted

技术标签:

【中文标题】如何修复对 etherpad 的 $http.get 请求上的“403(禁止)”【英文标题】:how to fix '403 (Forbidden)' on a $http.get request to etherpad 【发布时间】:2019-10-14 17:23:06 【问题描述】:

[标题][1] [标题][2]

我正在尝试向托管在不同域中的 etherpad 发送获取请求。 OPTIONS 预检请求通过,但 get 请求返回 403 状态。

但是,当我为 chrome 扩展安装 CORS 时,请求会通过

当我安装 cors chrome 扩展时,请求通过

这是我的代码: /* ........ 将草稿导出为 html/pdf/word ........ */

            //get content for this template
            var url = Drafting.domain + Drafting.port + '/p/' + Drafting.padID + '/export/html?' + 'apikey=' + Drafting.apikey;

            $http.get(url).then(function(response, status)             
                if(typeof(callback)==='function' && callback)
                
                    callback(response.data);
                
            );         
        ```


  [1]: https://i.stack.imgur.com/25dsj.png
  [2]: https://i.stack.imgur.com/ivHnn.png

【问题讨论】:

【参考方案1】:

我刚刚将 'withCredentials:true' 与 url 一起传递,然后修改了 etherpad 文件中的 importexport.js,其中 'AccessControlAllowOrigin' 设置为 '*' 我将其替换为特定域并且它工作正常。

【讨论】:

以上是关于如何修复对 etherpad 的 $http.get 请求上的“403(禁止)”的主要内容,如果未能解决你的问题,请参考以下文章

如何重新排序 etherpad 工具栏按钮?

etherpad 如何识别作者颜色?

如何以编程方式获取 etherpad 的实时明文内容?

如何在 Sandstorm 上安装 Etherpad Lite 插件?

如何正确更新 etherpad-lite?

Etherpad:setHTML API 响应成功,但更新后的 html 在 etherpad 上不可见