希望每个人都身体健康和精神。
我试图将Oracle文档(带有文件的文件夹)显示到使用JET的iFrame中。因为我需要从Oracle提供的REST API获得JSON响应。当我们使用Postman访问REST API时,它将返回正确的JSON输出(参考)。
但是,当我尝试使用JSON AJAX调用获得相同的时,我会在浏览器控制台中获得以下错误:
jQuery-3.1.0.js:9392 xmlhttprequest无法加载链接。对飞行前请求的响应不会传递访问控制检查:在请求的资源上没有"访问控制"标头。源'http://localhost:8383'不允许访问。
这是剪切的代码:
self.getFolderDetails = function(){
$.ajax({
url: "testurl",
type: "GET",
userName: "<User name>",
password: "<Password>",
async: false,
crossDomain: true,
headers: {
'Content-Type' : 'application/json',
'Authorization' : 'Basic <Auth Token>'
},
success: function (data) {
parsedJSON = JSON.parse(JSON.stringify(data));
console.log('Response JSON Data--> ' + JSON.stringify(data));
},
error: function (jqXHR, textStatus, errorThrown) {
console.log('Fail Response JSON Data--> ' + JSON.stringify(data));
}
});
}
通常,在这种情况下,我们将CORS过滤器应用于裸露的Web服务。由于这些由开发云团队创建的服务,因此我无法从头开始进行任何更改。
真的很感谢您的任何帮助。
正如您所说的那样,在这种情况下需要CORS,因为它是浏览器的安全功能。话虽如此,您可以尝试一些工作。
-
JSONP:此功能再次取决于服务器端,因此除非Oracle提供它,否则您将无法做到。
-
服务器端适配器:您可以在服务器端创建自己的服务,该服务在Tern中调用Oracle服务。您不会有同样的起源问题。
oracle文档云服务不允许其他域使用REST访问信息,直到您使用DOC Cloud Service中的Admin Actions在"交叉原始域"中分配域。
但是,对于Localhost的测试,您可以在Google Chrome中使用一些插件(允许控制),该插件可让您访问相同的插件而不会丢弃错误。
注意:我希望您知道 accessToken ,刷新令牌和 roun 在IFRAME中打开Applink时的事情。