JavaScript DOM编程艺术-学习笔记(第七章)
第七章:
1.dom方法创建并且插入标签:(这种方法并没有改变文档的物理内容,而是在改变dom树)
①创建元素节点:createElement();
②内部前插入:appendChild()
③创建文本节点:createTextNode();
④设置属性节点:setAttribute();
⑤外部前插入:父元素.insertBefore(插入的元素,目标元素); 插入的元素被插入到,目标元素的前面。
⑥没有inserAfter()函数。
2.小知识点:①appendChid(这里面的元素不能加引号,否则是字符串)
②ajax的onreadysatechange() 这个函数都是小写。不知道为什么不遵循驼峰的写法,初写时,一般会写错。
③在aja post时会设置请求头,即报头,其中Content-type 设置为application/x-www-form-urlencoded;即简单的key-value的形式发送。
此外还可以设置为form-data,一般用于传输文件。(比如图片等)。在工作中向服务器传输图片,是将图片转化成二进制流,然后post去发送,而Content-type则设置为form-data
3.ajax的过程,代码:
var xmlhttp;
//平稳退化-对象检测技术
//1.创建对象
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest(); //适用于IE7+、FireFox、Chrome、Safari、Opera
}else{
xmlhttp = new ActiveXObjext("Microsoft.XMLHTTP"); //适用于IE5、IE6
}
//2.确定请求类型、发送请求
xmlhttp.open("GET","ajax1.php",true);
xmlhttp.send(); // xmlhttp.open("POST","t1.html",true);
// xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
// xmlhttp.send("a=1&b=2"); //3.响应请求(readyState 0-请求未初始化;1-与服务器建立链接;2-请求已接受;3-请求处理中;4-请求处理完成)
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == "4" && xmlhttp.status == "200"){
var p = document.createElement("p");
var pText = document.createTextNode(xmlhttp.responseText);
p.appendChild(pText)
var body = document.getElementsByTagName("body")[0];
body.appendChild(p) ;
}
} //说在最后:浏览器一般会禁止ajax使用file://协议。 提示跨域请求只支持http等协议 。 所以测试实现时,要安装一个类似于phpstudy的软件。让自己的机器变成一台虚拟服务器。
4.ajax的缺点:可能会导致用户无法使用后退按钮或无法为特定状态下的页面添加书签。
5.“有什么理由让没有js的用户不能登录呢”,作者提倡,应该“先后兼容”的使用ajax:“在原有框架的基础上,用ajax拦住发送到服务器的请求,并将请求转交给XMLHttpResut对象处理。这种情况下,ajax就扮演了一个位于常规站点之上的层”
JavaScript DOM编程艺术-学习笔记(第七章)的更多相关文章
- JavaScript DOM编程艺术-学习笔记(第二章)
1.好习惯从末尾加分号:开始 2.js区分大小写 3.程序界万能的命名法则:①不以,数字开头的数字.字母.下划线.美元符号 ②提倡以下划线命名法来命名变量,以驼峰命名法来命名函数.但是到了公司往往会身 ...
- JavaScript DOM编程艺术学习笔记(一)
嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...
- JavaScript DOM编程艺术-学习笔记
发现基础不是很好,补习一下.37买了2本书(dom编程和高级程序设计). 以前读书总是自己勾勾画画,有点没意思.现在写下来,说不定会成为传世经典.哈哈...........随便扯扯淡. 第一天(201 ...
- JavaScript DOM编程艺术学习笔记-第二章JavaScript语法
一.JavaScript示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 【干货】JavaScript DOM编程艺术学习笔记1-3
从7月29号到8月8号,断断续续地看完了这本书,做了部分实践联系.总体感觉本书真的只能算是个入门,学完之后看到库的那一章才感觉是个大坑,实践中大部分应该都是用的现成的库吧,所以还要重新学习一个库,但是 ...
- JavaScript DOM编程艺术学习笔记-第一章JavaScript简史
一,JavaScript的起源 JavaScript是Netscape与Sun公司合作开发,它是一种脚本语言,通常只能通过Web浏览器去完成一些操作.JavaScript为程序员提供了一些操控Web浏 ...
- 【干货】JavaScript DOM编程艺术学习笔记10-12【完】
十.用JavaScript实现动画效果 鼠标放到链接上,每次只显示图片的一小部分,加快加载速度. js: function prepareSlideshow(){ //对象检测 if(!documen ...
- 【干货】JavaScript DOM编程艺术学习笔记7-9
七.动态创建标记 在文档中不写占位图片和文字代码,在能调用js的情况下动态创建,文档支持性更好. 在原来的addLoadEvent prepareGallery showPic的基础上增加函数prep ...
- 【干货】JavaScript DOM编程艺术学习笔记4-6
四.案例研究:JavaScript图片库 js: function showPic(whichpic){ //取得链接 var source=whichpic.getAttribute("h ...
随机推荐
- EZOJ 网同14(蛋蛋与北大信科-Splay的颜色分离,寻找结点所在子树)
蛋蛋与北大信科 总时限 10s 内存限制 256MB 出题人 lydrainbowcat 提交情况 1/25 背景 琰琰(孩纸们读作:蛋蛋)是妙峰书苑的一名萌萌哒教师,她的夫君(孩纸们称之为:北大信科 ...
- 算法线性编程珠玑读书笔记之----->使用线性算法求解连续子序列的最大和
这段时间笔者几篇文章介绍了改算法线性的文章. 关联文章的地址 这个算法我在我的博客里应用动态规划做过,详细实现请参阅我的dp板块,下面给出书上最快的算法,时间复杂度为O(n),称之为线性算法. #in ...
- 基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v4.1.2版)
目录: 第1版:http://blog.csdn.net/vipbooks/article/details/51912143 第2版:htt ...
- CCNA网络工程师学习进程(7)路由器的路由配置
前面一节已经介绍了路由器的端口配置,接着我们介绍路由器的路由配置:静态路由.默认路由和浮动路由的配置:动态路由协议的配置,包括RIP.IGRP.EIGRP和OSPF. (1)路由器的基 ...
- [ios2] iOS常用控件尺寸大集合 【转】
元素控件 尺寸(PTS) Window(含状态栏) 320 x 480 Status Bar的高度 20 Navigation Bar的高度 44 含Prompt的Navigation Bar的高度 ...
- React一些必须要知道的基础
React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西 ...
- static const readonly
C#中的static 和Java中的static 简单,两者用法完全是一致的.从两方面讨论: 1. 变量是属于类的,不是实例级别的.只能通过类名调用,不能通过实例调用. 2. 如果在定义时就赋值了,那 ...
- 最简单的MFC
#include <SDKDDKVer.h> #include <afxwin.h> #include <afxext.h> #include <iostre ...
- HDU------checksum
Quicksum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- ECMAScript6之数值类型的扩展
数值类型的扩展 Number.isNaN ES6将isNaN方法从window身上移植到了Number对象上,使用时和ES5中的isNaN方法一样,但是这是Number对象的方法 Number.isN ...