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

第一张图是豆瓣官方的给的api,name的属性写成9787115299710,希望可以获取图书的title,,以下是json的格式... 第一张图是豆瓣官方的给的api,name的属性写成9787115299710,希望可以获取图书的title,,以下是json的格式 展开
 我来答
hyjiacan
2015-03-23 · TA获得超过3912个赞
知道小有建树答主
回答量:894
采纳率:100%
帮助的人:1086万
展开全部

这个。。  提供的数据应该是需要使用 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;
}
前端报错
2015-03-25 · 前端开发技术分享,分析
前端报错
采纳数:1573 获赞数:7026

向TA提问 私信TA
展开全部
//引用jQuery
$.ajax({
    url:"http://api.douban.com/v2/book/isbn/9787115299710",
    dataType:'jsonp',
    success:function( data ){
        console.log( 'title:', data.title );
    }
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式