无法在jscript中显示json响应

时间:2013-06-26 06:49:14

标签: jquery ajax web-services

我正在使用Javascript,HTML和CSS开发移动应用程序。我必须在该应用程序中使用Web服务。我正在做一个示例演示,看看如何在javascript中使用Web服务。我有一个返回JSON响应的url。我需要使用jQuery显示这个响应。

这是返回JSON响应的网址

http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo

,回复是:

{
    "status": {
        "message":"the daily limit of 30000 credits for demo has been exceeded. Please use an application specific account. Do not use the demo account for your application.",
        "value":18
    }
}

但我不知道如何使用javascript显示它。我尝试使用下面的代码,但它不起作用

$(document).ready(function()
    {
        $("#btnConvert").click(function()
        {

            $.ajax({ 
            type: "POST",
            url:"http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo",
            dataType: "jsonp",
            success: function(data) 
            {
                $('#currency_converter_result').html(data);
                alert(""+data);

            }
            });
        });
    });

它会显示一个包含[object object]的提示框。 你能帮我讲一下如何使用javascript显示json响应吗?

2 个答案:

答案 0 :(得分:1)

您可以像这样显示对象的消息:

alert(data.status.message);

答案 1 :(得分:1)

对象data包含下一个属性:

- data
    -- status
        -- message: "the daily limit of 30000 credits for demo has been exceeded. Please use an application specific account. Do not use the demo account for your application."
        -- value: 18

因此,为了提取您必须使用的值:

data.status.message // Returns the String
data.status.value // Returns the code number