【问题标题】:Javascript: undefined when I want to get the responseJavascript:当我想获得响应时未定义
【发布时间】:2018-02-07 03:43:49
【问题描述】:

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

我的 sn-p 是:

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(), catch: catch(),...

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

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

如何获得响应?我错过了什么?

【问题讨论】:

标签: javascript jquery ajax geonames


【解决方案1】:

请查找示例。 getJson 是异步调用,请在成功回调中写下你的逻辑,如下所示。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多