2016-11-28 64 views
1

希望大家身體健康,精神振奮。使用REST從JET訪問Oracle文檔雲服務Api

我正在嘗試使用JET將If文檔(帶有文件的文件夾)顯示到Iframe中。因爲我需要從Oracle提供的REST API獲得JSON響應。 當我們使用郵遞員訪問剩下的api時,它返回正確的JSON輸出(reference)。

但是,當我試圖獲得相同的使用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)); 
     } 
    }); 
} 

通常在這種情況下,我們對暴露web服務應用CORS過濾器。自開發雲團隊創建這些服務後,我無法對我做任何更改。

會真的很感謝這方面的幫助。

+0

你的問題解決了嗎? – CodeWriter

回答

0

正如你所說,CORS將是這種情況下所必需的,因爲它是瀏覽器的安全功能。這就是說你可以嘗試一些工作。

  1. JSONP:這個特性再次依賴於服務器端,所以除非oracle提供它,否則你將無法做到這一點。

  2. 服務器端適配器:您可以在服務器端創建自己的服務,它可以調用oracle服務。你不會有同源問題。

0

Oracle文檔雲服務不允許其他域使用REST訪問信息,直到您使用Doc Cloud Service的管理員操作分配「跨源域」中的域爲止。

但是對於本地主機上的測試,您可以在谷歌瀏覽器中使用一些插件(Allow-Control-Allow-Origin),它允許您在不發生錯誤的情況下訪問相同的插件。

注:我希望你知道約的accessToken刷新令牌,並作用的事情,當你在打開的iFrame應用鏈接。