Get Json data in jQuery

2020-05-06 10:21发布

There is not a single clear example that explains how to pull json data as simple as possible. I have a valid json and I need to retrieve it with jQuery

my json output is as:

{
    "title": "blog entries",
    "items" : [
        {
            "title": "Can Members of the Diaspora Work Effectively at th",
            "date": "8/4/2009 9:42:38 AM"
        },
        {
            "title": "Ashoka Brazil",
            "date": "7/15/2009 8:56:12 AM"
        },
        {
            "title": "Life Spring Hospital",
            "date": "7/15/2009 8:56:12 AM"
        },
        {
            "title": "Pozitron/Endeavor",
            "date": "5/26/2009 8:58:39 PM"
        }
    ]
}

I tried retrieving it with the following but no luck.

    $.getJSON({
        type: "GET",
        data: { PROCESS: "ViewBlog" },
        url: "http://www.pangeaadvisors.org/sep123/blog.cs.asp",
        dataType: "json",
        success: function(json) {
            $(json).find('item').each(function(){
                var title = $(this).find('title').text();
                $('<div class="news_title"></div>').html(title).appendTo('#news_wrap');
            });
        }
    });

标签: jquery json
4条回答
我命由我不由天
2楼-- · 2020-05-06 10:29

Try this one

$.getJSON("http://www.pangeaadvisors.org/sep123/blog.cs.asp",{ PROCESS: "ViewBlog" }, function(json) {
                    for (var i = 0; i < json.length; i++) {
                        var title = json[i].Title;
                        $('<div class="news_title"></div>').html(title).appendTo('#news_wrap');
                    }
            });

as redsquare answered you need for or $.each :)

查看更多
▲ chillily
3楼-- · 2020-05-06 10:29

UPDATE

Its failing due to your url having 2 dots in the url

Assuming the request is working (check firebug to see if the request goes out as a script tag & the response comes back) you will need to do

$.each( json.items, function(){

   ...

});

or you can use normal js

for (var i=0; i<json.items.length; i++) {

   ...

}
查看更多
迷人小祖宗
4楼-- · 2020-05-06 10:45

Try This

var items = test.items;
$.each(items,function(index,items){
    console.log(items.title); /// and items.date
})
查看更多
The star\"
5楼-- · 2020-05-06 10:55

You'll have to look at how to make cross domain calls with ajax. Making the request like this will be denied by the browser.

查看更多
登录 后发表回答