Bing Map REST API Json没有获取数据,我尽我所能

时间:2017-06-21 14:17:49

标签: json rest dictionary bing-maps bing

var url = "https://dev.virtualearth.net/REST/v1/Locations?query=" 
+ encodeURIComponent('Oakleaf Dr Meadow Valley CA 95956 United States')
+ "&incl=queryParse"
+ "&output=json"
+ "&key=" + key
$.ajax({
	url:url,
	type:"GET",
	dataType:"jason",
	success: function(data){
		lat=data.resourceSets[0].resources[0].point.coordinates[0];
	},
	error: function(r){ console.log(r)}
	});
我收到错误: XMLHttpRequest无法加载https://dev.virtualearth.net/REST/v1/Locations?query=Oakleaf%20Dr%20Meadow% ... = json& key = ...否请求的资源上存在“Access-Control-Allow-Origin”标头。因此,不允许原点'null'访问。

好的,我搜索了答案,必须使用jsonp。

$.ajax({
url: url,
  type: "GET",
  dataType: 'jsonp',
  jsonp: "jsonp",
  success: function(data) {
var lat=data.resourceSets[0].resources[0].point.coordinates[0],
lng=data.resourceSets[0].resources[0].point.coordinates[1];
    console.log(lat);
  },
  error: function(response) {
    console.log(JSON.stringify(response));
  }
});

然后,我得到“Uncaught SyntaxError:Unexpected token:” 我发现的答案最多的是对服务器端脚本进行更改,在这种情况下不适用。现在怎么样?

1 个答案:

答案 0 :(得分:0)

好吧,我确定语法错误来自错误函数

console.log(JSON.stringify(response));

除非响应具有 JSON标头,否则这将无效,所以基本上如果此请求到达服务器并且服务器给出了错误,那么您必须在服务器端向响应添加标头否则你可以用

替换它
console.log(response); 

以这种方式,它会将一个对象写入控制台