Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用RESTAPI从JET访问Oracle文档云服务_Javascript_Ajax_Cross Domain_Oracle Jet - Fatal编程技术网

Javascript 使用RESTAPI从JET访问Oracle文档云服务

Javascript 使用RESTAPI从JET访问Oracle文档云服务,javascript,ajax,cross-domain,oracle-jet,Javascript,Ajax,Cross Domain,Oracle Jet,希望大家身体健康,精神健康 我正在尝试使用JET将oracle文档(包含文件的文件夹)显示到Iframe中。例如,我需要从oracle提供的RESTAPI获取JSON响应。 当我们使用postman访问restapi时,它返回正确的JSON输出() 但当我尝试使用JSON Ajax调用获得相同的结果时,在浏览器控制台中会出现以下错误: jquery-3.1.0.js:9392 XMLHttpRequest无法加载链接。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标

希望大家身体健康,精神健康

我正在尝试使用JET将oracle文档(包含文件的文件夹)显示到Iframe中。例如,我需要从oracle提供的RESTAPI获取JSON响应。 当我们使用postman访问restapi时,它返回正确的JSON输出()

但当我尝试使用JSON Ajax调用获得相同的结果时,在浏览器控制台中会出现以下错误:

jquery-3.1.0.js:9392 XMLHttpRequest无法加载链接。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”

以下是截取的代码:

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));
        }
    });
 }
self.getFolderDetails=function(){
$.ajax({
url:“testurl”,
键入:“获取”,
用户名:“”,
密码:“”,
async:false,
跨域:是的,
标题:{
“内容类型”:“应用程序/json”,
“授权”:“基本”
},
成功:功能(数据){
parsedJSON=JSON.parse(JSON.stringify(data));
log('Response JSON Data-->'+JSON.stringify(Data));
},
错误:函数(jqXHR、textStatus、errorshown){
log('Fail Response JSON Data-->'+JSON.stringify(Data));
}
});
}
通常在这种情况下,我们在公开的Web服务上应用CORS过滤器。由于这些服务是由开发云团队创建的,所以我无法从我的角度进行任何更改


非常感谢您在这方面提供的帮助。

正如您所说,这种情况下需要CORS,因为它是浏览器的安全功能。也就是说,你可以试着解决一些问题

  • JSONP:这个特性同样依赖于服务器端,所以除非oracle提供它,否则您将无法做到这一点

  • 服务器端适配器:您可以在服务器端创建自己的服务,该服务在tern中称为oracle服务。您将不会有相同的来源问题


  • 正如您所说,这种情况下需要CORS,因为它是浏览器的安全特性。也就是说,你可以试着解决一些问题

  • JSONP:这个特性同样依赖于服务器端,所以除非oracle提供它,否则您将无法做到这一点

  • 服务器端适配器:您可以在服务器端创建自己的服务,该服务在tern中称为oracle服务。您将不会有相同的来源问题


  • Oracle文档云服务不允许其他域使用REST访问信息,除非您使用文档云服务中的管理操作在“跨源域”中分配该域

    但是对于localhost上的测试,您可以使用googlechrome中的一些插件(Allow-Control-Allow-Origin),它允许您访问相同的插件而不会抛出错误


    注意:在Iframe中打开Applink时,我希望您了解访问令牌刷新令牌、以及角色等事项

    Oracle文档云服务不允许其他域使用REST访问信息,除非您使用文档云服务中的管理操作在“跨源域”中分配域

    但是对于localhost上的测试,您可以使用googlechrome中的一些插件(Allow-Control-Allow-Origin),它允许您访问相同的插件而不会抛出错误


    注意:在Iframe中打开Applink时,我希望您了解访问令牌刷新令牌、以及角色等事项

    你的问题解决了吗?你的问题解决了吗??