<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
<style type="text/css"> *{
padding: 0;
margin: 0;
} body{
font-family: "宋体";
}
.conut{
height: 50px;
}
.conut span{ font-size: 18px;
padding: 0 15px;
line-height: 50px;
color: #009966;
} .movieList{ border-top:2px solid #096;
} .movieList li{
display: inline-block;
padding:0 30px;
line-height: 36px;
font-size: 14px;
border-right:1px solid #FFF ;
color: #666;
cursor: pointer;
}
.movieList li:hover{
color: #009966;
}
.movie{
width: 500px;
margin: 0 auto;
margin-top: 200px;
text-align: center;
color: #096;
}
</style>
</head>
<body> <div class="conut">
<span>正在上映</span>
<span>(20)</span>
</div>
<ul class="movieList">
<!--<li>战狼2</li>
<li>机器人9号</li>
<li>蜘蛛侠·英雄归来</li>
<li>敦伦克尔</li>
-->
</ul> <div class="movie"> </div>
</body>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.js"></script> <script> var apiURL = "http://api.douban.com"; var movieApi = {
inTheaters:"/v2/movie/in_theaters",//正在热映
comingSoon:"/v2/movie/coming_soon",//即将上映
moviedetail:"/v2/movie/subject/" //电影条目信息
} $(function(){ $.ajax({
type:"get",
url:apiURL+movieApi.inTheaters,
data:{ },
dataType:"jsonp",
async:true,
success:function(data){
//console.log(data)
$(".conut span").first().html(data.title);
$(".conut span").last().html("("+data.count+")"); var movieItem="";
$.each(data.subjects, function(i,item) {
movieItem+="<li data-itemid="+escape("电影"+item.id)+">"+item.title+"("+item.year+")</li>";
/*var escapes = escape(item.title); //escape 转码
console.log(escapes);
var unescapes = unescape(escapes); //unescape 解码
console.log(unescapes);*/
}); $(".movieList").empty().append(movieItem);
}
});
}) $(".movieList").on("click","li",function(e){
var data_itemId =unescape($(this).attr("data-itemid"));
var itemid = data_itemId.substring(2,data_itemId.length)
$.ajax({
type:"get",
url:apiURL+movieApi.moviedetail+itemid,
dataType:'jsonp',
async:true,
success:function(data){
console.log(data);
var movie = "<img src="+data.images.medium+"/><h1>"+data.title+"</h1>"
$(".movie").empty().append(movie);
},
error:function(xhr,em,e){
if(xhr.status == 404){
$(".movie").empty().append("<div style='text-align:center'>该电影已下架</div>")
}
}
});
}) </script>
</html>

》》豆瓣API的更多相关文章

  1. 一个豆瓣API的使用——拒绝思维定式

    好久没写博客了,最近一直在用豆瓣API爬数据,不知道以前的是什么样,毕竟刚开始用没多久,就用最新的V2版本,以前的不更新了,可以参照https://developers.douban.com/wiki ...

  2. 小试牛刀--利用豆瓣API爬取豆瓣电影top250

    最近得赶进度爬点东西,对于豆瓣,它为开发者提供了API,目前是v2版本,目前key不对个人开放,但是可以正常通过其提供的API获取数据.豆瓣V2版API权限分3类:公开.高级.商务,我们用开放基本数据 ...

  3. 【jquery mobile笔记二】jquery mobile调用豆瓣api示例

    页面主要代码如下 <div data-role="page" id="page1">     <div data-role="hea ...

  4. 使用OAuth2.0访问豆瓣API

    如何计算某个用户的access_token过期时间?开发者可以通过两种方式计算:用户授权时,oauth2/access_token接口返回的expires_in值就是access_token的生命周期 ...

  5. 豆瓣api之OAuth认证

    豆瓣api通过OAuth允许第三方应用访问用户数据,所以OAuth认证就是我们整个project的基础了. OAuth认证听起来挺神秘,其实挺简单的. 现在的大型网站的开放平台的认证几乎都是采用OAu ...

  6. 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目

    CloudReader 一款基于网易云音乐UI,使用GankIo及豆瓣api开发的符合Google Material Desgin阅读类的开源项目.项目采取的是Retrofit + RxJava + ...

  7. vue中Axios请求豆瓣API数据并展示到Swipe中

    vue中Axios请求豆瓣API数据并展示到Swipe中 1.首先是安装Axios: 安装方法cnpm install axios --save 等待npm安装完毕: 2.在main.js中引入axi ...

  8. 豆瓣api开发

    前面有说过豆瓣API的开发,在做一些开源项目的时候,很多时候会用到豆瓣API接口,拿过来做测试,现在只是对豆瓣API开发做一些简单的梳理: 豆瓣API开发的接口: https://developers ...

  9. 豆瓣API接口开发,结合angularJS来做,感觉爽歪歪!

    第一次做还是先说下API 是什么鬼? API : application program interface 应用程序编程接口: 有那些常见的API: webAPI : 通过WEB方式提供结构叫 WE ...

  10. vue调用豆瓣API加载图片403问题

    "豆瓣API是有请求次数限制的”,这会引发图片在加载的时候出现403问题,视图表现为“图片加载不出来”,控制台表现为报错403. 其实是豆瓣限制了图片的加载,我自己用了一个办法把图片缓存下来 ...

随机推荐

  1. 蓝桥杯-算法训练--ALGO-5 最短路

    问题描述 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环).请你计算从1号点到其他点的最短路(顶点从1到n编号). 输入格式 第一行两个整数n, m. 接下来的m行,每行有三个 ...

  2. 实用 .htaccess 用法大全【转载】

    转载:http://www.techug.com/htaccess-snippets 这里收集的是各种实用的 .htaccess 代码片段,你能想到的用法几乎全在这里. 免责声明: 虽然将这些代码片段 ...

  3. 转 html5离线储存,application cache,manifest使用体验

    html5离线应用application cache 最近在APP里新增一个论坛模块,为了快速地完成,决定将整个论坛模块做成WEB APP,WEB APP最致命的就是用户体验问题,页面跳转和过多的请求 ...

  4. React Native填坑之旅 -- 使用react-navigation代替Navigator

    Navigator已经被React Native废弃了.也许你可以在另外的一个依赖库里react-native-deprecated-custom-components里找到.不过既然官方推荐的是re ...

  5. MVC架构下,使用NPOI读取.DOCX文档中表格的内容

    1.使用NPOI,可以在没有安装office的设备上读wiod.office.2.本文只能读取.docx后缀的文档.3.MVC架构中,上传文件只能使用form表单提交,转到控制器后要依次实现文件上传. ...

  6. Velocity(4)——引入指令和#Parse 指令

    #Include和#Parse都是用于将本地文件引入当前文件的指令,而且被引入的文件必须位于TEMPLATE_ROOT.这两者之间有一些区别. #Include 被#Include引入的文件,其内容不 ...

  7. WebView之js调用Android类的方法传递数据

    1,具体的思路如下: 在android中写一个Activity,里面写一个webview,这个webview加载本地的一个html文件,显示这个网页,这个网页包括一个用户名和密码的输入框和两个按钮(只 ...

  8. typescript入门基础

    1.typescript介绍 微软开发的一门编程语言,javascript的一个超集,遵循最新的ES6脚本语言规范(2015年发布),它扩展了Javascript的语法,任何已经写好的javascri ...

  9. 七、VueJs 填坑日记之渲染一个列表

    在上一篇博文中,我们对vue组件有了一个简单的认识和大概的理解.在之前认识项目结构的时候,我们在/src目录中创建了一个components的文件夹,而今天就要用到了,这个文件夹的作用就是放置我们的自 ...

  10. STM32F030如何正确配置IO口的复用功能

    本文所使用的单片机型号为STM32F030C8T6. 在030系列的单片机中,PA2引脚除了作为普通的IO引脚用作输入输出功能以外,还可以作为内部外设串口1,串口2,定时器15通道1这三个外设的功能引 ...