Dojo REST调用返回奇怪的错误

时间:2014-04-04 17:39:35

标签: javascript ajax dojo

我正在使用DOJO库对BING高程服务进行Ajax调用。调用正在successfully,200错误,但返回函数/数据正在中断。 我通过调用非BING服务测试了这个,并且返回了没有问题的JSON数据。但是当我调用BING服务时,我得到了:

  

“未捕获的SyntaxError:意外的令牌:”

错误控制台中的错误,指向包含this data的BING服务返回的工作表。

最终问题:从dojo到REST服务的ajax调用显示看不见的结果,是否有人遇到过此问题,或者有解决方案?

Dojo Ajax snippy:

request.get('https://dev.virtualearth.net/REST/v1/Elevation/Polyline?points=-84.44627894973615, 33.79093896172691, -84.43705215072468, 33.80377767236137&heights=sealevel&samples=10&key=BINGKEY', {
    jsonp: 'callback'
}).then(function(returned) {
    console.log('call has completed: ' + returned);
}).error(function(msg) {
    console.log('there was a problem retrieving elevation data: ' + msg);
});

任何帮助都会很棒

1 个答案:

答案 0 :(得分:0)

你必须告诉bing你正在使用JSONP

dojo中的jsonp参数应该映射到你正在调用的api的jsonp回调参数的名称,以便bing映射它的jsonp。

request.get('https://dev.virtualearth.net/REST/v1/Elevation/Polyline?points=-84.44627894973615, 33.79093896172691, -84.43705215072468, 33.80377767236137&heights=sealevel&samples=10&key=BINGKEY', {
    jsonp: 'jsonp'
}).then(function(returned) {
    console.log('call has completed: ' + returned);
}).error(function(msg) {
    console.log('there was a problem retrieving elevation data: ' + msg);
});