在CHROME控制台上已经用JS代码获得了ISBN的情况下, 如何通过豆瓣的API获取图书的评分?

 我来答
原宿BIUBIU
2017-04-13 · TA获得超过3669个赞
知道小有建树答主
回答量:288
采纳率:0%
帮助的人:189万
展开全部

这个。。  提供的数据应该是需要使用 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;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
zzllrr小乐
高粉答主

2017-04-13 · 小乐数学,小乐阅读,小乐图客等软件原作者,“zzllrr小乐...
zzllrr小乐
采纳数:20147 获赞数:78792

向TA提问 私信TA
展开全部
这个要查一下豆瓣官网的API了,用token的方式,来get一下
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式