第七章:

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编程艺术-学习笔记(第七章)的更多相关文章

  1. JavaScript DOM编程艺术-学习笔记(第二章)

    1.好习惯从末尾加分号:开始 2.js区分大小写 3.程序界万能的命名法则:①不以,数字开头的数字.字母.下划线.美元符号 ②提倡以下划线命名法来命名变量,以驼峰命名法来命名函数.但是到了公司往往会身 ...

  2. JavaScript DOM编程艺术学习笔记(一)

    嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...

  3. JavaScript DOM编程艺术-学习笔记

    发现基础不是很好,补习一下.37买了2本书(dom编程和高级程序设计). 以前读书总是自己勾勾画画,有点没意思.现在写下来,说不定会成为传世经典.哈哈...........随便扯扯淡. 第一天(201 ...

  4. JavaScript DOM编程艺术学习笔记-第二章JavaScript语法

    一.JavaScript示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  5. 【干货】JavaScript DOM编程艺术学习笔记1-3

    从7月29号到8月8号,断断续续地看完了这本书,做了部分实践联系.总体感觉本书真的只能算是个入门,学完之后看到库的那一章才感觉是个大坑,实践中大部分应该都是用的现成的库吧,所以还要重新学习一个库,但是 ...

  6. JavaScript DOM编程艺术学习笔记-第一章JavaScript简史

    一,JavaScript的起源 JavaScript是Netscape与Sun公司合作开发,它是一种脚本语言,通常只能通过Web浏览器去完成一些操作.JavaScript为程序员提供了一些操控Web浏 ...

  7. 【干货】JavaScript DOM编程艺术学习笔记10-12【完】

    十.用JavaScript实现动画效果 鼠标放到链接上,每次只显示图片的一小部分,加快加载速度. js: function prepareSlideshow(){ //对象检测 if(!documen ...

  8. 【干货】JavaScript DOM编程艺术学习笔记7-9

    七.动态创建标记 在文档中不写占位图片和文字代码,在能调用js的情况下动态创建,文档支持性更好. 在原来的addLoadEvent prepareGallery showPic的基础上增加函数prep ...

  9. 【干货】JavaScript DOM编程艺术学习笔记4-6

    四.案例研究:JavaScript图片库 js: function showPic(whichpic){ //取得链接 var source=whichpic.getAttribute("h ...

随机推荐

  1. zoj 1152 A Mathematical Curiosity

    方法:枚举 做这道题,在第十行的位置WA了很多次,(n || m)不能写成(n + m),m可能是负数,一直没注意到,导致不停的WA....... #include <stdio.h> i ...

  2. [Oracle] CPU/PSU补丁安装教程

    什么是CPU/PSU Oracle CPU的全称是Critical Patch Update, Oracle对于其产品每个季度发行一次安全补丁包,通常是为了修复产品中的安全隐患. Oracle PSU ...

  3. Asp.Net 网站访问人数及在线人数

    利用Application对象和Session对象可以统计历史访问人数和当前在线人数. 在会话开始和结束时,一定要进行加锁和解锁操作.由于多个用户可以共享Application对象,因此加锁是必要的, ...

  4. C++中的异常

    一,异常的推演 1.函数与异常 平时我们在函数中出现异常情况时通常通过return终止函数并返回一个值,然后在函数上层来获取值并判断是什么异常情况.因为函数是栈结构的,所以return的时候是通过栈结 ...

  5. template template parameter

    #include <iostream> using namespace std; template<typename T> class A { }; template<t ...

  6. WebService一、数据交互

    调用webservice总结:  1.加入第三方的jar包 Ksoap2-android-XXX    2.访问响应的webservice的网站,查看响应的信息,得到nameSpace,methodN ...

  7. ListView的局部刷新

    有的列表可能notifyDataSetChanged()代价有点高,最好能局部刷新. 局部刷新的重点是,找到要更新的那项的View,然后再根据业务逻辑更新数据即可. private void upda ...

  8. ie7,IE8不支持document.getElmentsByClassName的问题

    if (!document.getElementsByClassName) { document.getElementsByClassName = function(className, elemen ...

  9. CSS菜单横竖布局要点

    菜单纵向:把ul 元素的边框属性去除,li元素用border-top  上边框显示分离,把a 元素用display:block  text-decoration:none  去除默认下划线 菜单横向: ...

  10. ibatis动态修改select出来的字段

    今天自己做了一个测试 , 动态去select出来数据库的字段, 但是我传参数都是正确的 , 可就是无法出来结果, 返回对象NULL . 表示很郁闷 , 然后就google了一下 , 关键词 : iba ...