0

ブラウザー (firefox) に次のように入力できます: http://maps.google.com/maps/api/geocode/json?address=91505&sensor=falseと、json データが表示されます。

これを jquery ajax 呼び出しとして実行しようとすると、エラー セクションが実行されます。

$("#coZip").blur(関数() {

var el = $(this);

$.ajax({
    url: "http://maps.google.com/maps/api/geocode/json",
    cache: false,
    dataType: "json",
    type: "GET",
    data: "address=" + el.val().substring(0,5)+"&sensor=false",
    success: function(result, success) {
        $("#coCity").val(result.results[0].address_components[1].short_name);
        $("#coState").val(result.results[0].address_components[3].short_name);          
    },
    error: function(result, success) {
        alert("zip error");
    },
});

});

データ文字列が「address=91505&sensor=false」であることをアラート ウィンドウに表示して確認したので、なぜこれが機能しないのか途方に暮れています。また、部分文字列を取得する理由は、#coZip の形式が 91505- _ _ 使用しているマスク プラグインのためです。接尾辞は気にしないので省略します。

この ajax 呼び出しを正常に使用すると、json データも返されます。

$.ajax({
url: "http://zip.elevenbasetwo.com",
cache: false,
dataType: "json",
type: "GET",
data: "zip=" + el.val().substring(0,5),
success: function(result, success) {
    $("#coCity").val(result.city);
    $("#coState").val(result.state);            
},
error: function(result, success) {
    alert("zip error");
}

});

2 番目の ajax 呼び出しは郵便番号で使用できる多くの都市の 1 つを返すため、最初の ajax 呼び出しを使用したいと思いますが、Google サイトは正しい都市を返します。(例えば 90275)

4

0 に答える 0