我创建了一个office-js addin,它打开了一个对话api,该对话api作为Azure应用服务托管。对话框-api发送AJAX调用到一个asp.net web api(这是安全使用Azure AD)。
当调用web api时,我得到了错误。
该Ajax调用的代码。
$.ajax({
url:'.../api/DocFile4/GetVersions',
type: 'GET',
crossDomain: true,
async: false,
contentType: 'application/json;charset=utf-8',
}).done(function (data) {
console.log("success");
}).fail(function (status) {
console.log('Error', 'Could not communicate with the server.');
});
Office-js addin 和 dialog-api 托管在同一个应用程序服务上,而 asp.net web api 托管在一个单独的应用程序服务上,这两个应用程序服务在同一个资源组中。
这个问题是由于您的浏览器中的CORS政策,这是为了保证您的请求安全.它不会允许来自外部网站的参数。你需要设置你的网站,允许请求,如提到的 文章.