2016-12-06 31 views
0

ESRI的ArcGIS中的JavaScript API 3.18ESRI新門戶(myUrl)返回一個錯誤道場:CancelError

我發出新的門戶網站( 「myUrl」)命令,並取回一個錯誤 「取消所有請求」。

這是一個dojo錯誤,「CancelError」「所有請求取消。」

這是一個新的聯合門戶上的api的https安裝。

我的代碼在調用esri門戶時起作用,所以我認爲我的代碼可能是正確的。這會導致安裝配置問題。 到目前爲止,我很難過。

我的測試網站與門戶網站位於同一個網絡服務器上。

這裏給plunkr鏈接與工作代碼:

https://plnkr.co/edit/RFlStZbHA5axAD3J2KQt?p=preview

任何想法?

下面的代碼:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

    <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"> 
    <title>New Portal</title> 

    <link rel="stylesheet" href="http://js.arcgis.com/3.18/esri/css/esri.css"> 
    </head> 
    <body> 
    <div id='mainContent'> 
     <input id='message' value='initial value' /> 
    </div> 

    <script>var dojoConfig = { parseOnLoad: true };</script> 
    <script src="https://js.arcgis.com/3.18/"></script> 
    <script> 
    dojo.require('esri.arcgis.Portal'); 
    dojo.require("esri.IdentityManager"); 
    dojo.require("dojox.lang.aspect"); 

    var portalUrl = 'https://www.arcgis.com'; 
    var portal = null; 
    var message = document.getElementById('message'); 

    var init = function() { 
     message.setAttribute('value', 'pre new portal'); 
     portal = new esri.arcgis.Portal(portalUrl); 
     message.setAttribute('value', 'past new portal'); 
     portal.on("error", function(errorMsg) { 
     message.setAttribute('value', 'error=' | errorMsg.message);   
     }); 
     portal.on("load", function (data) { 
     message.setAttribute('value', 'success');   
     }); 
    }; 

    message.setAttribute('value', 'pre init'); 
    dojo.ready(init); 
    </script> 

</body> 

</html> 
+0

好的,一些進展。這有助於正確配置api,以便我可以創建一個新的Map對象並加載它。 http://support.esri.com/technical-article/000011974 我知道如何修改api中的javascript文件,但不知道門戶設置。 仍然無法創建一個Portal對象。 –

+0

這裏有一個額外的症狀: 如果我要訪問的門戶網站作爲一個人的用戶,我在我的瀏覽器瀏覽到: https://www.myurl.com/arcgis/home 當我創建一個新的門戶網站對象在JavaScript中,我使用: https://www.myurl.com或https://www.myurl.com/arcgis/home 我看到esri代碼發出獲取請求: https:// www .myurl.com/sharing/rest/portals/self 任何人都知道「共享/休息/門戶/自我」來自哪裏? –

回答

1

更改按照本文件的門戶網站設置爲做的地圖API的工作。

所有在線的例子顯示使用這個:

var portal = new Portal('www.myurl.com'); 

我發現,使用這個工作:

var portal = new Portal('www.myurl.com/arcgis'); 

基本上,因爲一些這可能是因爲我還沒有看到配置設置,我會建議確定Portal對象的內部代碼調用哪個url,然後嘗試初始url越來越長的片段,直到獲得成功。