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 ...
随机推荐
- spring事务管理器设计思想(2)
spring事务管理器设计思想(二) 上文见<spring事务管理器设计思想(一)> 对于第二个问题,涉及到事务的传播级别,定义如下: PROPAGATION_REQUIRED-- 如果当 ...
- web打印小结
项目中有个需求是将winform客户端的打印,移到网页上由客户自行打印,打印要求是根据一定的格式实现套打. 当时的解决方案是使用PDF打印: 1. 准备好套打格式的底图: 2.打开底图,将动态内容画到 ...
- Dockerfile与Docker构建流程解读
摘要 本文主要讨论了对docker build的源码流程进行了梳理和解读,并分享了在制作Dockerfile过程中的一些实践经验,包括如何调试.优化和build中的一些要点.另外,还针对现有Docke ...
- log4j2日志配置
背景 log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量.可配置的审计型日志.基于插件架构的各种灵活配置等. 1. ...
- 日志快速筛选 之 linux命令grep|uniq|wc|awk
以前我个人的观念是,在线上运行的东西尽量不要记什么流水日志. 但是后来我变了,发现在线上记日志是一个绝对有必要的东西,尤其是在当下很流行的微服务的推动下,没有日志的帮助,犹如一个睁眼瞎,排查问题基本靠 ...
- quagga源码分析--大内总管zebra
zebra,中文翻译是斑马,于是我打开了宋冬野的<斑马,斑马>作为BGM来完成这个篇章,嘿嘿,小资一把! zebra姑且戏称它是quagga项目的大内总管. 因为它负责管理其他所有协议进程 ...
- 办理卡尔加里大学(本科)学历认证『微信171922772』calgary学位证成绩单使馆认证University of calgary
办理卡尔加里大学(本科)学历认证『微信171922772』calgary学位证成绩单使馆认证University of calgary Q.微信:171922772办理教育部国外学历学位认证海外大学毕 ...
- java基础练习 6
public class Sixth { /*一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出1000以内的所有完数.*/ public sta ...
- CodeForces 635C XOR Equation
位运算. 又涨姿势了:$a + b = (aXORb) + 2*(aANDb)$,$ (aXORb)$是不进位的部分,$2*(aANDb)$为进位之后的部分,相加就是$a + b$. 知道了这个转换, ...
- 0-ajax操作json(番外篇)
[可以先看后边再看此文] get获取json 前端代码 <!DOCTYPE html> <html> <head> <meta charset="u ...