我正在尝试从cloudmade路由API服务中检索数据。我可以使用带有以下代码的$ .getJSON来做得很好:
<button id="getJSON">Get JSON</button>
$(function () {
$("#getJSON").click(function () {
$.getJSON("http://routes.cloudmade.com/c6f2762bfe00414f822a9dec443569f5/api/0.3/51.500,0.100,51.500,0.1001/car.js?callback=?", function (data) {
var test = data.route_geometry;
alert(test);
});
});
});
另见http://jsfiddle.net/V3qgZ/72/
当我尝试使用$ .ajax执行相同的请求时,我无法检索数据,但我不确定我的错误在哪里。我想使用$ .ajax的原因是因为$ .getJSON是异步的,因为$ .ajax可以设置为'async:false'。 $ .ajax请求的代码在这里:
<button id="getJSON">Get JSON</button>
$(function () {
$("#getJSON").click(function () {
var url = "http://routes.cloudmade.com/c6f2762bfe00414f822a9dec443569f5/api/0.3/51.500,0.100,51.500,0.1001/car.js";
$.ajax({
async: false;
dataType: "jsonp",
url: url,
success: function (data) {
test = data.route_geometry;
alert(test);
}
});
});
});
同样在http://jsfiddle.net/FhfVW/1/
非常感谢任何帮助!