第六章

1、    JavaScript的Ajax的实现步骤:

1)         定义一个函数用来异步获取信息

function Ajax(){

}

2)         声明:

var xmlHttpReq = null;

3)         赋值(实现浏览器兼容):

if(window.ActiveXObject){

     xmlHttpReq = new ActiveXObject(“Microsoft.XMLHttp”);

}else if(window. XMLHttpRequest){

   xmlHttpReq = new XMLHttpRequest();

}

4)         初始化

xmlHttpReq.open(“GET”,”test.php”,true);//第三个参数是是否异步的

5)         设置回调函数。因为要做异步调用,所以需要注册一个XMLHttpRequest对象将调用的回调事件处理器当它的readyState值改变时调用。

xmlHttpReq.onreadystatechange = RequestCallBack;

6)         发送请求,因为刚才发送的是GET,所以可以不指定参数或使用null

xmlHttpReq.send(null)

7)

function RequestCallBack(){

            if(xmlHttpReq. readyState == 4){

               if(xmlHttpReq.status == 200){

                   document.getElementById(“resText”).innerHTML= xmlHttpReq.responseText;

               }

             {

}

2、    load()

1)         载入HTML方法:load(【url】,【data,可选】,【function,可选】)

2)         筛选载入的HTML方法:load(“test.html .class”)

3)         传递方式:无参是GET方式传递,有参会自动转为POST

(1)       无参(GET方式):load(“test.html .class”,function(){})

(2)       有参(POST方式):load(“test.html .class”,{name:”ccl”,age:”23”},function(){})

4)         回调参数:load(“test.html .class”,function(responseText,textStatus,XMLHttpReq){})

3、    $.get()和$.post()方法

1)         $.get(url,【data,可选】,【function(data,textStatus){},可选】,【type(服务器返回的内容格式xml/html/script/json/text/_default) ,可选】)

(1)       【data】可以使用{ username:$(“#username”).val(),content:$(“#content”).val()}

(2)       【function(data,textStatus){}】:data返回的类型可以是xml/html/ json……

eg:接下来的内容写在function里面

(1st) html格式:(最简单)

$("#res”).html(data)

(2nd)              xml格式

var username = $(data).find(“comment”).attr(“username”);

var content = $(data).find(“comment content”).text();

var txtHtml = “<div class=”comment”><h6>”+username+”:</h6><p class=’para’>”+ content+”</p></div>”;

$("#res”).html(txtHtml);

(3rd) json格式(可数据重用)

var username = $(data). username;

var content = $(data). content;

var txtHtml = “<div class=”comment”><h6>”+username+”:</h6><p class=’para’>”+ content+”</p></div>”;

$("#res”).html(txtHtml);

2)         $.post()传输的数据不受限制,相对比较安全,结构和使用方法和$.get相同

4、    $.getScript()直接加载js文件

  $.getScript(‘test.js’,【function(){},可选】)

5、    $.getJSON()直接加载JSON文件

$. getJSON (‘test.json’,【function(data){},可选】)

6、    $.each(【data】,【function(){}】),遍历的方法

7、    $.ajax(【只放一个参数,但是参数是可选的,参数是以key:value】)

//放多个参数,$.ajax({key:value, key:value, key:value})

8、    序列化元素

1)         serialize()  能够将元素内容序列化为字符串,表单、其他选择器选取的元素都能用

$.get(url,$(“#forrm1”).serialize(),function(){})

$(“:checkbox,:radio”) .serialize()

2)         serializeArray()  将DOM元素序列化后,返回JSON格式的数据,之后可以使用$.each()迭代输出

fields = $(“:checkbox,:radio”) . serializeArray ();

$.each(fields,function(I, field){

      $(“#res”).append(field.value+”,”);

});

3)         $.param()

eg:

obj = {a:1,b:2}

   k = $.param(obj)//a=1&b=2

9、    全局事件

1)         ajaxStart和 ajaxStop

<div id=”loading”>加载中……</div>

$(“#loading”).ajaxStart(function(){  $(this).show()  })

$(“#loading”).ajaxStop (function(){  $(this).hide()  })

2)         ajaxCompele()//请求完成时执行

3)         ajaxError()

4)         ajaxSend()

5)         ajaxSuccess()

6)         global设置为false,让某个ajax不受全局影响

$.ajax({global:false})

第七章

1、    验证

1)         自定义验证信息

(1)       在jQuery代码中增加

errorELement:"em",

    success:function(lable){

       //lable指向上面的em标签

       lable.text(" ").addClass("success");

    }

(2)       在css中增加

em.error{

    background: url(../img/exit.png) no-repeat 0px 0px;

    padding-left: 16px;

}

em.success{

    background: url(../img/icon_success.png) no-repeat 0px 0px;

    padding-left: 16px;

}

2)   自定义验证方法

 $.validator.addMethod("postcode",function(value,element,params){

       var postcode = /^[0-9]{6}$/;

       return this.optional(element)||(postcode.test(value));

    },"请填写正确的邮编");

2、    表单

1)         ajaxForm()能接受0个或1个参数,单个参数可以是回调函数,也可以是options

2)         ajaxSubmit()能接受0个或1个参数,单个参数可以是回调函数,也可以是options

var  options = {

   target:’#out’//服务器返回来的内容放在这个元素中

   brforeSubmit:showRequest //提交前的回调函数

   success:showResponse//提交后的回调函数

   url: //默认是form的action,申明则覆盖

   type://默认是form的method,申明则覆盖

   dataType:null//服务器返回来的类型,html、xml、json

   clearFrom:true//提交成功后清除所有表单的值

   resetFrom:true//提交成功后重置所有表单的值

   timeout:3000//限制请求时间,大于这个时间,跳出请求

}

function showRequest(formData,jqForm,options){

   var queryString = $.param(formData);

  //var formElement = jqForm[0];// jqForm封装了表单的元素

  //var address = formElement.address.value;

return true;

}

function showResponse((responseText, statusText,xhr,$form){

  // statusText【success/error】

}

3、    模拟窗口插件

1)         调用静态窗口

(1)       法一:$(“#element-id”).modal();

(2)       法二:$(“#element-id”).modal({options});

$.modal(“<div><h1>XXXX</h1></div>”,{options});

2)         定义有样式的静态窗口:

(1)       通过外部的css,选项对象或者两个一起来应用样式,modal overlay、container、data元素的css选项分别是overlayCss、containerCss、dataCss,它们都是键值对属性,

(2)       内部定义了如下的css样式:simplemodal-overlay、simplemodal-container、simplemodal-data

4、    cookie

1)         写入cookie:$.cookie(‘the_cookie’,’the_value’);

2)         读取Cookie:$.cookie(‘the_cookie’);

3)         删除cookie:$.cookie(‘the_cookie’,null);

4)         其他可选参数:

cookie:$.cookie(‘the_cookie’,’the_value’,{

   expires:7,//有效期

   path:’/’,//cookie的路径属性

   domain:’jquery.com’,//cookie的域名属性

   secure:true//如果设为true,那cookie的传输会要求一个安全协议,例如HTTPS

});

5、    UI插件:分为交互、微件、效果库

《锋利的jQuery》心得笔记--Three Sections的更多相关文章

  1. 锋利的jQuery读书笔记---选择器

    前段时间入手了锋利的jQuery(第二版),想着加强下自己的js能力,可前段时间一只在熟悉Spring和Hibernate.最近抽时间开始读这本书了,随便也做了些记录. 读书的过程是边看边代码测试,所 ...

  2. 《锋利的jQuery》心得笔记--Four Sections

    第八章 1.    当父元素设置position:relative的时候,子元素设置position:absolute.这个子元素设置在父元素的任何位置. 第九章 1.    对可视区进行纠正,通知浏 ...

  3. 《锋利的jQuery》心得笔记--Two Sections

    第三章 1.    DOM操作(节点) 1)         查找节点可以查找元素节点和属性节点 2)         创建节点: (1)       创建元素节点 var addLi = $(“&l ...

  4. 《锋利的jQuery》心得笔记--One Sections

    第一章 1.    $是jQuery的一个简写形式 2.    在jQuery中无法使用DOM对象的任何方法:比如:$ (“#id”).innerHTML.$ (“#id”).checked, 可以使 ...

  5. 锋利的JQuery 学习笔记

    第一章                认识JQuery ·页面加载事件(可以写多个ready())$(document).ready(function(){alert(“hello world”);} ...

  6. 锋利的jquery学习笔记

    1.$("#tt")获取的永远都是一个jquery对象,所以要判断页面上是否存在某个对象不能像js中 if($("#tt")){ } 而是通过: ){ } ps ...

  7. 锋利的jQuery读书笔记---jQuery中Ajax--序列化元素、Ajax全局事件

    serialize()方法: 作用于一个jQuery对象,它能够将DOM元素内容序列化为字符串,用于Ajax请求. <!DOCTYPE html> <html> <hea ...

  8. 锋利的jQuery读书笔记---jQuery中Ajax--get、post等方法

    load()方法通常用来从Web服务器上获取静态的数据文件,然而这并不能体现ajax的全部价值. 在项目中,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()方法(或 ...

  9. 锋利的jQuery读书笔记---jQuery中Ajax--load方法

    第一个Ajax例子 <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...

随机推荐

  1. [Angular2 Router] Use Params from Angular 2 Routes Inside of Components

    Angular 2’s ActivatedRoute allows you to get the details of the current route into your components. ...

  2. 使用Visual Studio创建简单的自己定义Web Part 部件属性

    使用Visual Studio创建简单的自己定义Web Part 部件属性 自己定义属性使用额外的选项和设置拓展你的Web part部件.本文主要解说怎样使用Visual Studio创建简单的自己定 ...

  3. Linux VM子系统参数调整

    Timesten数据库下的Linux page子系统参数调整  如果Timesten(TT)采用了Durablecommits或是share memory segment被lock的话,那么linux ...

  4. C/C++基础总结

    1 static(静态)变量有什么作用 3个体明显的作用:1)在函数体内,静态变量具有“记忆”功能,即一个被声明为静态变量在一个函数被调用的过程中其值维持不变2)在模块内,它的作用域范围是有限制的,即 ...

  5. Tuple类型

    Tuple类型类似的体现了C#中的匿名类型 var person=new { Name="Eric"; Age=18: } 调用: Console.writeline( perso ...

  6. WPF 之 布局(二)

    一.Canvas  Canvas是最基本的面板,只是一个存储控件的容器,它不会自动调整内部元素的排列及大小,它仅支持用显式坐标定位控件,它也允许指定相对任何角的坐标,而不仅仅是左上角.可以使用Left ...

  7. SQL性能优化十条经验

    1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会 ...

  8. ScrollView嵌套recyclerView出现的滑动问题

    记得以前在解决scrollView与ListView嵌套问题时,那个时候是自定义了listView去测量listView高度,今天项目中刚 好碰到了要用recycerView,同样也是嵌套在scrol ...

  9. oc语言复制视频文件

    void copyFile() { NSString *home=NSHomeDirectory(); NSString *path=[NSString stringWithFormat:@" ...

  10. Redis入门(优势,环境,字符串,哈希,列表)

    Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使用磁盘仅用于持久性. 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型. Redis可以将数据复制到任意数量的 ...