使用dojo.io.script异步加载Google Maps API V3失败,但没有提示

wqsoz72f  于 2022-12-16  发布在  Dojo
关注(0)|答案(3)|浏览(218)

将Google的异步加载文档压缩到Dojo的asynchronous loader中会产生:

dojo.io.script.get({
  url: 'http://maps.googleapis.com/maps/api/js',
  jsonp: 'callback',
  content: {
    sensor: 'false'
  },
  load: function() {
    console.log('done');
  },
  error: function() {
    console.log('error');
  }
});

或者摆弄它:http://jsfiddle.net/sKNmS/
MapJS文件被加载,但是回调函数从来没有被调用。为什么?

6tqwzwtp

6tqwzwtp1#

dojo.io.script.get只能用于JSONP服务,您的回调函数不会被调用,因为据我所知,该URL不会返回JSON格式的响应,而只会返回纯JavaScript。
dojo.io.script.get设置了一个回调函数,该回调函数应该由从该URL返回的代码触发,因为该URL指向纯JavaScript,所以该函数永远不会被触发,因为响应不是JSONP。

ccgok5k5

ccgok5k52#

看起来dojo.io.script.get()不支持GoogleMap对JSONP回调的延迟调用。
我已经填满了一个 dojo 。

kuhbmx9i

kuhbmx9i3#

还有另一种方法(在Dojo 1.6上测试):

dojo.io.script.get({
  url: 'http://maps.googleapis.com/maps/api/js'
}).then(function() {
  console.log('done');
});

由于dojo.io.script.get返回延迟对象。

相关问题