在CHROME控制台上已经用JS代码获得了ISBN的情况下, 如何通过豆瓣的API获取图书的评分?
这个。。 提供的数据应该是需要使用 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的属性。});还是补充一下吧,这样可以取到返回的所有数据(结构....),在上面的回调里面调用这个函数:function getObjectData(data){ var f_this = arguments.callee; var $ul = $(''); for(var item in data){ var row = data[item]; var $li = $(''); if(!$.isPlainObject(row) && !$.isArray(row)){ $li.append(item + ':' + row); }else{ $li.append(item).append(f_this(row)); } $ul.append($li); } return $ul;}
豆瓣api 能获取全部电影吗?
1.登录豆瓣后,可以去 这里 申请豆瓣APIKey。(不使用API Key时每分钟请求不能超过10次;使用API Key时,对访问的限制较为宽松,为每分钟40次)
2.豆瓣API每次调用 最多返回50个结果 ,如果你豆瓣上的书和电影超过50个,就要多次发起调用,这部分功能我的程序里已经自动处理了。
3.我封装的这段脚本提供了一些可选配置如下,参数的含义都比较明确,这里就不解释了(place是一个div的ID,可以用来做定位)。