Javascript通过豆瓣api实现获取图书的信息(通过图书的isbn号)要如何实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript通过豆瓣api实现获取图书的信息(通过图书的isbn号)要如何实现?相关的知识,希望对你有一定的参考价值。

第一张图是豆瓣官方的给的api,name的属性写成9787115299710,希望可以获取图书的title,,以下是json的格式

这个。。  提供的数据应该是需要使用 JSON来请求吧。


虽然 jq 有jsonp,但是一直没有成功使用过。。 所以自己写了一个简单的。

var jsonp = function (url, callback) 
    if (typeof url=== 'undefined') 
        throw 'the 1st param "url" missing';
    

    if (typeof callback === 'undefined') 
        throw 'the 2nd param "callback" missing';
    

    var jsonpcallback = 'callback' + new Date().valueOf();
    if (typeof callback !== 'string') 
        window[jsonpcallback] = callback;
        callback = jsonpcallback;
     else 
        window[jsonpcallback] = function (data) 
            eval(callback).call(window, data);
        
    

    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', url + (url.indexOf('?') == -1 ? '?' : '&') + 'callback=' + jsonpcallback);
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(script);
;


然后,你在页面中这样调用:

jsonp('https://api.douban.com/v2/book/isbn/9787115299710', function (data)
    var title = data.title;
    // 你自己的数据处理 可以通过  for..in 的结构来遍历data的属性。
);

 


还是补充一下吧,这样可以取到返回的所有数据(<ul><li>结构</li>....</ul>),在上面的回调里面调用这个函数:

function getObjectData(data)
    var f_this = arguments.callee;
    var $ul = $('<ul>');

    for(var item in data)
        var row = data[item];
        var $li = $('<li>');
        if(!$.isPlainObject(row) && !$.isArray(row))
            $li.append(item + ':' + row);                        
        else
            $li.append(item).append(f_this(row));
        
        $ul.append($li);
    
    return $ul;

参考技术A //引用jQuery
$.ajax(
    url:"http://api.douban.com/v2/book/isbn/9787115299710",
    dataType:'jsonp',
    success:function( data )
        console.log( 'title:', data.title );
    
);

以上是关于Javascript通过豆瓣api实现获取图书的信息(通过图书的isbn号)要如何实现?的主要内容,如果未能解决你的问题,请参考以下文章

豆瓣图书接口API

推荐:根据ISBN号查询图书信息的API - 豆瓣API

爬取豆瓣网图书TOP250的信息

豆瓣图书Top250

豆瓣电影API,包括豆瓣电影搜索、电影信息、评论、Top250等

爬取豆瓣上某个用户标记的想读的图书信息