Javascript: undefined 当我想得到响应
Javascript: undefined when I want to get the response
我想从邮政编码中获取城市名称。
我开始用 GeoNames example 来实现它,但我遇到了一些错误。我设法 "work"(它发送了请求,在响应选项卡上我看到了正确的响应,但我无法访问它。
我的代码片段是:
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);
从 console.log(aObj)
我得到:
Object { readyState: 1, getResponseHeader: getResponseHeader(), getAllResponseHeaders: getAllResponseHeaders(), setRequestHeader: setRequestHeader(), overrideMimeType: overrideMimeType(), statusCode: statusCode(), abort: abort(), state: state(), always: always(), catch: catch(),...
如果我点击更多,我会看到响应在 responseText 中。
console.log(response)
的输出是 'undefined'
如何得到响应?我错过了什么?
请查找样本。 getJson是异步调用,请在成功回调中编写你的逻辑,如下所示。
$.getJSON(request, function(result){
//success logic
console.log(result);
//response = aObj.responseText;
//console.log(response);
});
Kindly refer http://api.jquery.com/jquery.getjson/ for more
understanding.
我想从邮政编码中获取城市名称。 我开始用 GeoNames example 来实现它,但我遇到了一些错误。我设法 "work"(它发送了请求,在响应选项卡上我看到了正确的响应,但我无法访问它。
我的代码片段是:
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);
从 console.log(aObj)
我得到:
Object { readyState: 1, getResponseHeader: getResponseHeader(), getAllResponseHeaders: getAllResponseHeaders(), setRequestHeader: setRequestHeader(), overrideMimeType: overrideMimeType(), statusCode: statusCode(), abort: abort(), state: state(), always: always(), catch: catch(),...
如果我点击更多,我会看到响应在 responseText 中。
console.log(response)
的输出是 'undefined'
如何得到响应?我错过了什么?
请查找样本。 getJson是异步调用,请在成功回调中编写你的逻辑,如下所示。
$.getJSON(request, function(result){
//success logic
console.log(result);
//response = aObj.responseText;
//console.log(response);
});
Kindly refer http://api.jquery.com/jquery.getjson/ for more understanding.