1

我正在尝试从 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/

非常感谢任何帮助!

4

1 回答 1

3

async: false删除;和添加存在语法错误,

这是一个工作小提琴http://jsfiddle.net/mayooresan/FhfVW/2/

于 2013-04-03T09:24:57.620 回答