重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

javascript豆瓣,javascript或

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

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

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站建设、乌鲁木齐网络推广、小程序开发、乌鲁木齐网络营销、乌鲁木齐企业策划、乌鲁木齐品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供乌鲁木齐建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

虽然 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('', function (data){

var title = data.title;

// 你自己的数据处理 可以通过  for..in 的结构来遍历data的属性。

});

还是补充一下吧,这样可以取到返回的所有数据(ulli结构/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;

}

前端书籍推荐

对于零基础小白,可以看看以下书籍

《图解 HTTP》:一本HTTP的神书,图文并茂,生动形象,非常适合小白学习。

《Head First HTML与CSS(第2版)》:入门真的是经典书籍,手把手教学,丰富的案例让你从 0 开始学前端。

《锋利的jQuery》:作为第一本原因是jQuery入门快,你不会因为js的晦涩难懂而止步不前,因为学习jQuery后你可以自己写一些可以即使看到效果的小项目从而提升兴趣。

《Javascript 高级程序设计》:书中涉及的概念基本涵盖了js的大部分内容,包括作用域链、js数据类型、OOP对象在js中的实现、闭包、BOM和DOM模型、对变态IE的系列兼容的解决方案、事件流、还有xml、jason、E4X这些数据格式与js的交互操作简介、高级技巧的介绍(比如惰性载入)等等

《高性能JavaScript》:揭示了技术和策略能帮助你在开发过程中消除性能瓶颈。你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM交互、页面生存周期等。

《JavaScript 设计模式与开发实践》:腾讯前端AlloyTeam团队出品,综合讲述前端的设计模式,设计原则,编程技巧,代码重构等等。

《CSS 世界》:CSS和javascript一样,都是很容易上手,却很难精通的。这本是前端知名博主张鑫旭的书籍,好评很多,讲的很细致。

《CSS 揭秘》:CSS进阶必备书籍,47 个 css 技巧让你在面对各种 css 问题的时候游刃有余。

《深入浅出Node.js》:针对Node的基本原理做了深入,能让你了解底层的Node实现

豆瓣试听的播放条不见了,点歌曲播放键页面左下角显示javascript:(void)。请问是哪里出问题,怎么办?

把原来的老版本给删除掉,下载最新版本替换,这给机器没有关系。是软件的故障.

就是播放器的问题,下载最新版本恢复下程序就行!!

FormData 和 Content-Type: multipart/form-data

现代 Web 应用中频繁使用的一项功能就是表单数据序列化,XMLHttpRequest 2 级为此定义了 FormData 类型,FormData 为序列化表单以及创建与表单格式相同的数据(通过 JS 来模拟表单键值对)提供了便利。

使用 post 发送表单键值对格式的请求时,依然可以使用查询字符串格式,只是要放在请求体中,即传入 send() 中,介绍以下几种方法:

方法1: 直接模仿表单提交的形式,缺点是需要手动设置请求头,还要自己序列化为查询字符串的形式传给 xhr 对象。

方法2: 使用 FormData() 构造函数,浏览器会自动识别并添加请求头 "Content-Type: multipart/form-data",且参数依然像是表单提交时的那种键值对儿,此外 FormData() 构造函数 new 时可以直接传入 form 表单的 dom 节点。

方法3: 使用 URLSearchParams() 构造函数传入查询字符串,返回的实例和 FormData 相似,同时浏览器也做出相同的行为。

另外,URLSearchParams() 构造函数 new 时可以直接传入查询字符串格式的参数,比如:

可见 send() 方法很灵活:

第一行是请求行,指明了方法、URI 和 HTTP 版本号;

接着是消息头(简单起见,只有一个 Content-Type);

然后空出一行;

接下来就是消息体,可以看到使用 multipart/form-data 时,消息体通过 boundary 来分隔多个字段,被分隔的每个字段都有自己的小头部和小消息体,且也用空行分隔。如此,提供了额外的信息。

字段的值可能是普通的字符,也可能是二进制文件:

multipart/form-data 最初由 《RFC 1867: Form-based File Upload in HTML》 文档定义。

文档简介中说明文件上传作为一种常见的需求,在目前(1995年)的html中的form表单格式中还不支持,因此发明了一种兼容此需求的MIME type。

文档中也写了为什么要新增一个类型,而不使用旧有的 application/x-www-form-urlencoded :因为旧有类型不适合用于传输大型二进制数据或者包含非ASCII字符的数据。平常我们使用这个类型都是把表单数据使用url编码后传送给后端,二进制文件当然没办法一起编码进去了。所以 multipart/form-data 就诞生了,专门用于有效的传输文件。

参考:

1. 豆瓣:JavaScript高级程序设计(第3版)

2. MDN: FormData

3. MDN: XMLHttpRequest.send()

4. 为什么上传文件要使用multipart/form-data

5. 谈谈form-data请求格式


名称栏目:javascript豆瓣,javascript或
浏览地址:http://cqcxhl.com/article/dsgseos.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP