Dojo错误解析之:SyntaxError: missing ] after element list

最近在做dojo开发,遇到一个莫名其妙的问题:

SyntaxError: missing ] after element list
Stack trace:
.cache["dojo/_base/json"]/</dojo.fromJson@file:///C:/Lily/work/MDM%20Project/workspace/EV4BPM/resources/dojo/dojo.js:15:145120
.showSearchResult/<@file:///C:/Lily/work/MDM%20Project/workspace/EV4BPM/resources/viewer/search/SearchWrapperPane.js:212:11

乍一看是代码缺失了右方括号,并且提示出了具体的行,源码如下:

request(urls,{
                              headers: {
                                     "X-Requested-With": null
                                 },
                  method: "GET",
                              handleAs: "json"
            }).then(function(response){
                               VIEWERUtil.hideStandbyAnimation(controller.domNode);
                   self.debug(response);
                  
                   var responseResult = new Object();
                   responseResult = dojo.fromJson(response);   (212行)

            ......

          }

}

responseResult = dojo.fromJson(response);就是第212行,很显然并没有缺失任何括号,但是用firebug查看response的输出会发现,它已经是Object对象了,那么再执行dojo.fromJson(response)的时候就会出现上述的报错。修改办法有两种:

1,handleAs: "json"改成handleAs: "text/json"或者handleAs: "text"

2,去掉responseResult = dojo.fromJson(response);


在dojo的官方使用文档中dojo.fromJson的用法如下:

http://dojotoolkit.org/reference-guide/1.7/dojo/fromJson.html






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 ArcGIS API for JavaScript 中使用 Sketch 多选形状的示例代码: ```javascript require([ "esri/views/MapView", "esri/WebMap", "esri/widgets/Sketch", "esri/layers/GraphicsLayer", "esri/Graphic", "dojo/domReady!" ], function(MapView, WebMap, Sketch, GraphicsLayer, Graphic) { // Create a WebMap instance and set the map id to "map" var webmap = new WebMap({ portalItem: { id: "your-webmap-id-here" } }); // Create a MapView instance for the "map" div var view = new MapView({ container: "map", map: webmap }); // Create a GraphicsLayer for the sketch and add it to the map var sketchLayer = new GraphicsLayer(); view.map.add(sketchLayer); // Create a new Sketch widget and add it to the view var sketch = new Sketch({ layer: sketchLayer, view: view, creationMode: "update" }); view.ui.add(sketch, "top-right"); // Listen for the "create" event on the Sketch widget sketch.on("create", function(event) { if (event.state === "complete") { var graphics = event.graphic; if (graphics.geometry.type === "polygon") { // If a polygon was created, select all graphics within the polygon var selectedGraphics = sketchLayer.graphics.filter(function(graphic) { return graphics.geometry.contains(graphic.geometry); }); view.graphics.removeAll(); selectedGraphics.forEach(function(graphic) { graphic.symbol.color = "red"; view.graphics.add(graphic); }); } } }); }); ``` 该代码使用 ArcGIS API for JavaScript 创建了一个包含 Sketch 组件的地图,并在该组件中实现了多选形状的功能。当用户在 Sketch 组件中创建一个多边形时,该代码会选择所有在该多边形内的图形,并在视图中突出显示它们。注意,该代码仅适用于多边形选择,如果需要支持其他形状的选择,需要进行相应的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值