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: falseremove;と addの構文エラーがあります,

ここに作業フィドルがありますhttp://jsfiddle.net/mayooresan/FhfVW/2/

于 2013-04-03T09:24:57.620 に答える