2017-08-29 11 views
0

私は郵便番号から都市名を取得したいと思います。 私はGeoNames exampleでそれを達成し始めましたが、いくつかのエラーが発生しました。 。私はJavascript:未定義のとき応答を取得する

それは、要求を送信し、応答]タブで、私は正しい応答を参照してください、私はそれを達することができなかった(「仕事」に管理私のスニペットがある:私が得た console.log(aObj)から

var countrycode = document.getElementById("countrySelect").value; 
var postalcode = document.getElementById("postalcodeInput").value; 

    request = 'http://api.geonames.org/postalCodeLookupJSON?postalcode=' + postalcode + '&country=' + countrycode + '&callback=getLocation&username=myUname'; 

    // Create a new script object 
    aObj = jQuery.getJSON(request) 
    console.log(aObj); 
    response = aObj.responseText; 
    console.log(response); 

オブジェクト{readyStateの:1、getResponseHeader:getResponseHeader()、getAllResponseHeaders:getAllResponseHeaders()、setRequestHeader:setRequestHeader()、overrideMimeType:overrideMimeType()、からstatusCode:からstatusCode()、中止(中断)、状態:state()、常に:always()、catch:catch()、...

moreをクリックすると、レスポンスがresponseTextにあることがわかります。

console.log(response)の出力は

どのような応答を取得するには「未定義」は?私は何を逃したのですか?

+3

'$ .getJSON()'は**非同期** APIです。 – Pointy

+0

asynchoronous APIについてもう少し詳しく教えてください。代わりに何を使うべきですか? – Feralheart

+0

@Feralheart https://developers.google.com/web/fundamentals/getting-started/primers/promises –

答えて

1

サンプルを見つけてください。 getJsonは非同期呼び出しです。以下に示すように、成功コールバックにロジックを記述してください。

$.getJSON(request, function(result){ 
      //success logic 
      console.log(result); 
      //response = aObj.responseText; 
      //console.log(response); 
     }); 

親切により 理解するためにhttp://api.jquery.com/jquery.getjson/を参照してください。

関連する問題