首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在scriptlab中调用ajax时的CORS问题

在scriptlab中调用ajax时的CORS问题
EN

Stack Overflow用户
提问于 2017-04-20 02:43:29
回答 2查看 708关注 0票数 1

我正在excel中测试scriptlab插件

我尝试执行对外部端点的rest调用,如下所示

代码语言:javascript
复制
$.ajax({
            url: "https://jsonplaceholder.typicode.com/posts/1",
            dataType: 'JSON',
            headers: {
              'Authorization': 'Basic blablabla',
            })....

上面的工作正常。但是在启用了CORS的端点上,我得到了xhr.readyState 0。

如何避免CORS问题?(我不是终结点的所有者)

EN

回答 2

Stack Overflow用户

发布于 2017-04-21 00:25:44

首先,感谢您试用Script Lab

我将从回答以下问题开始:该问题是否特定于Office外接程序和/或脚本实验室。最简单的方法可能是尝试不同的JS游乐场,例如JSFiddle或CodePen。你能让电话在那里工作吗?这将隔离CORS和应用程序域的问题( Slava提到的)。不过

在一般指导方面,我认为您有几个选择

  • 您正在调用的服务可能会允许特定URL的例外(例如,它可能会要求您提供您要调用的URL,并将该URL列入白名单)。
  • 您可以创建自己的服务器(或者可能是一个非常小的计算单元,比如Azure Function)来代表您在服务器端进行调用( CORS不是问题)。你可以让Azure函数本身接受CORS。这样,您实际上是通过您自己的服务器代理请求,您可以在该服务器上启用CORS。

希望这能有所帮助!

票数 3
EN

Stack Overflow用户

发布于 2017-04-20 03:37:57

你应该修改你的清单文件,并将你的域添加到AppDomains标签中,以便应用程序信任。默认情况下,外接程序可以加载与SourceLocation元素中指定的位置在同一域中的任何页。若要加载与外接程序不在同一域中的页,请使用AppDomains和AppDomain元素指定域。

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

https://stackoverflow.com/questions/43503737

复制
相关文章

相似问题

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