Js原生Ajax和jQuery的Ajax

转载请标明出处:https://blog.csdn.net/mygirl61/article/details/80234812

一、Ajax概述

    1.1同步和异步

        同步现象:客户端请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死的状态。
        异步现象:客户端请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会卡死。

    1.2ajax的运行原理

        页面发起请求,会将请求发送给浏览器内核的Ajax引擎,Ajax引擎会提交请求到服务器端,在这段时间里,客户端可以进行任意操作,直到服务器端将数据返回给ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面功能。

二、js原生的Ajax技术

        js原生的Ajax其实就是围绕浏览器内置的Ajax引擎对象进行学习的,要使用js原生的ajax完成异步操作,有如下几个步骤:

        1)创建Ajax引擎对象

        2)为Ajax引擎对象绑定监听(监听服务器已将数据响应给引擎)

        3)绑定提交地址

        4)发送请求

        5)接受相应

//1.创建引擎对象
var xmlhttp = new XMLHttpRequest();
//绑定监听
xmlhttp.onreadystatechange = function(){
   //5.接收响应 
   if(xmlhttp.readyState==4&&xmlhttp.status==200){
       var res = xmlhttp.responseText;
       alert(res);
       }
    }
    //绑定地址
    xmlhttp.open("GET","${pageContext.request.contextPath}/ajax",true);
    //发送请求
   xmlhttp.send();

注意:如果是post提交

在发送请求之前设置一个头

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

总结:异步访问就是Ajax引擎

三、Json数据格式

    json是一种与语言无关的数据交换的格式,其作用:

            使用Ajax进行前后台数据交换

            移动端和服务端的数据交换

3.1json的格式与解析

    json格式:

            1)对象格式:{"key1":obj,"key2":obj,"key3":obj...}

            2)数组/集合格式:[ obj,obj,obj...]

    例:user对象,使用json数据格式表示

            {“username":"zhangsan","password":"123456","address":"重庆"}

            List<Product>用json数据格式表示

            [{"pid":"10","pname":"小米mix2s"},{},{}]

            注意:1.对象格式和数组格式可以相互嵌套

                      2.json的key是字符串  value是object

    json的解析:

            json是js原生内容,也就意味着js可以直接取出json对象中的数据

3.2json的转换插件

    将Java的对象或者集合转换成json形式字符串

    json的转换插件是通过Java的一些工具,直接将Java对象或者集合转换成json字符串。

    常用的json转换工具有如下几种:

            1)jsonlib

            2)Gson:google

            3)fastJson:阿里巴巴

四、jQuery的ajax

        

jquery是一个优秀的js框架,自然对js原生的ajax进行了封装,封装后的ajax的操   作方法更简洁,功能更强大,与ajax操作相关的jquery方法有如下几种,但开发中 经常使用的有三种


1)$.get(url, [data], [callback], [type])

2)$.post(url, [data], [callback], [type])

 

其中:

url:代表请求的服务器端地址

data:代表请求服务器端的数据(可以是key=value形式也可以是json格式)

callback:表示服务器端成功响应所触发的函数(只有正常成功返回才执行)

type:表示服务器端返回的数据类型(jquery会根据指定的类型自动类型转换)

常用的返回类型:text、json、html等

 

3)$.ajax( { option1:value1,option2:value2... } );---- 以后在掌握

常用的option有如下:

async:是否异步,默认是true代表异步

data:发送到服务器的参数,建议使用json格式

dataType:服务器端返回的数据类型,常用text和json

success:成功响应执行的函数,对应的类型是function类型

type:请求方式,POST/GET

url:请求服务器端地址



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值