esri new Portal(myUrl)返回一个dojo错误:CancelError“所有请求已取消”

时间:2016-12-06 20:41:44

标签: javascript dojo arcgis esri arcgis-js-api

Esri ArcGis Javascript API 3.18

我正在发出一个新的Portal(“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>

1 个答案:

答案 0 :(得分:1)

根据此文档更改门户网站设置使api适用于地图。

所有在线示例都使用此显示:

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

我发现使用它有效:

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

基本上,由于其中一些可能是由于我没有看到的配置设置,我建议确定Portal对象的内部代码调用哪个url,然后尝试越来越长的初始url片段,直到你获得成功