ajax

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="jquery-3.1.0.js"></script>
</head>
<body>
<!--ajax
jQuery对Ajax操作进行了封装
%.ajax()    最底层的方法
load get post 第2层的方法(用得比较多)  注意:get post,是全局函数 $.get 这样就能调用
getScript getJSON 第三次方法
-->

<!--load-->
<!--
载入远程HTML代码,并插入DOM中
load(url [,data] [,callBack])
    url:请求HTML页面的URL地址
    data:发送给服务器的key/value数据,是Object格式的
    callback:回调函数,无论请求成功还是失败

    load方法的参数传递方式根据data来自动指定,如果没有参数传递,采用GET方式,反之,则自动转换为POST方式

    一个完整的load
    $("").click(function(){
        $("").load("url",{k1:v1,k2:v2},function(){})
    })

    关于回调函数,其有3个参数,分别是 返回内容 请求状态 XMLRequest对象

    load一般用来从服务器获取静态数据文件
-->
<input type="button" id="send" value="Ajax获取" />
<div class="comment">已有评论</div>
<div id="resText"></div>
<script type="text/javascript">
    $(function(){
        $("#send").click(function(){
            $("#resText").load("006_demo_01.html");
            //对于url,不仅仅可以是一个请求地址,还可以带上选择器
            //$("#resText").load("006_demo_01.html .className");
        })
    })
</script>


<!--get-->
<!--
get方法使用GET方式来进行异步请求
get(url [,data] [,callback] [,type])
    参数说明:
        请求地址
        发送数据
        回调函数
        服务端返回内容格式:xml script json text _default

    举例:
    HTML数据的返回,可以直接显示在页面上
    $("").click(function(){
        $.get("请求地址"
                ,{
                    username:$("#username").val()
                    ,password:$("#password").val()
                 }
                 ,function(data,textStatus){
                    $("#resText").html(data);//将返回的数据添加在页面上
                 })
     })
     XML数据的返回处理
        就是回调函数在处理的时候有些区别
        $(data).find("comment").attr("username"),这样获取XML数据中的值

     JSON数据的返回处理
        首先在请求的时候,声明服务端返回的是json数据
        通过点的方式就能够获取JSON中的数据
            如:username = data.username
-->

<!--post-->
<!--
post的使用与get相同
区别:
    get请求会将参数添加在url后面,post请求会将参数封装在http消息的实体内容
    get方式对传输有大小限制,通常不超过2k
    get请求参数会被缓存起来,不安全
    两种请求方式,在服务端的获取方式是不同的
-->


<!--getScript-->
<!--
有时候在页面初次加载的时候就获取全部的js文件是没有必要的
$.getScript("test.js");
-->

<!--getJSON-->
<!--
$.getJSON用于加载JSON文件
$.getScript("test.json",function(data){
//处理
});
-->


<!--以上能够实现基本的Ajax操作,如果想要实现复杂的Ajax操作,就需要用到$.ajax方法了-->
<!--
$.ajax(options)

需要的所有参数都在options中,options是一个键值对

序列化元素
提交表单数据,如果使用键值对的形式手动设置,太麻烦了,可以使用序列化,提交整个表单
$("#form1").serialize(),把整个作为ajax的请求参数即可
请求参数还可以是字符串的形式,和url中添加请求参数一样.但此时要注意编码
对于表单,推荐使用序列化元素提交,少量数据,使用对象方式提交,字符串形式个人不推荐

serializeArray:$(":checkbox").serializeArray();//将DOM元素序列化后转化成JSON格式的数据

$.param()
$.param({a:1,b:2})-->a=1&b=2


-->

<!--
Ajax全局事件

开始ajax请求的时候,ajaxStart()方法的回调函数被触发
结束ajax请求的时候,ajaxStop()方法的回调函数被触发
ajaxStart()一般用于提示加载信息

ajaxComplete()  请求完成时执行
ajaxError()     请求失败时执行
ajaxSend()      请求发送前执行
ajaxSuccess()   请求成功时执行

如果不想触发全局事件,可以使用$.ajax()中设置global:false


-->
</body>
</html>

 

posted @ 2016-07-29 20:36  csnmd  阅读(136)  评论(0编辑  收藏  举报