Javascript:当我想获得响应时未定义

时间:2017-08-29 15:41:22

标签: javascript jquery ajax geonames

我想从邮政编码中获取城市名称。 我开始使用GeoNames example实现它,但我遇到了一些错误。我设法“工作”(它发送请求,并在响应选项卡上看到正确的响应,但我无法达到它。

我的摘要是:

6

从我得到的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);

  

Object {readyState:1,getResponseHeader:getResponseHeader(),getAllResponseHeaders:getAllResponseHeaders(),setRequestHeader:setRequestHeader(),overrideMimeType:overrideMimeType(),statusCode:statusCode(),abort:abort(),state:state() ,总是:always(),catch:catch(),...

如果我点击更多,我会看到响应在responseText中。

console.log(aObj)的输出是'undefined'

如何获得回复?我错过了什么?

1 个答案:

答案 0 :(得分:1)

请找到样品。 getJson是异步调用,请在成功回调中编写逻辑,如下所示。

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

请参阅http://api.jquery.com/jquery.getjson/了解更多信息   理解。