Ajax学习笔记

1.同步与异步
同步:客户端发送请求到服务端,当服务器返回响应之前,客户端都处于等待卡死状态
异步:客户端发送请求到服务端,当服务器返回响应之前,客户端可以随意做其他事情,不会卡死

2.Ajax运行原理

页面发送请求,会将数据发送到ajax引擎,ajax引擎会提交请求到服务端。
在此过程中,客户端可以随意进行任何操作,直到服务端将数据繁育给Ajax引擎后,
会触发你设置的事件,从而执行自定义的js逻辑代码完成页面功能

3.JS原生ajax(了解)

(1)创建ajax引擎对象
(2)绑定监听
(3)绑定地址
(4)发送请求
(5)接收相应的数据

4.Json数据格式(重要)
json是一种数据交换的格式,使用ajax进行前后台数据交换

(1)Json的数据格式与解析
1)对象格式:{"key1":obj,"key2":obj}
2)数组格式:{[obj],[obj],[obj]}
例如:user对象用json数据格式表示
{"username":"zhangsan","age":20,"password":"123"}

List<User>用json数据格式表示
[{"username":"zhangsan","age":20,"password":"123"}][][]

注意:
1)对象格式和数组格式可以互相嵌套
2)json的key是字符串,json的value是object

5.json的解析
json是js的原生内容,即js可以直接取出json对象中的数据

6.Jquery的Ajax技术(重要)
Jquery对js的Ajax方法进行了封装

(1)get异步访问
$.get(
"", //url地址
{"name":"zhangsan","age":18},//json格式,请求参数
function(data){ //成功后的回调函数,data是响应参数
alert(data);
},
"text" , //data响应参数的类型
);
(2)post异步访问
$.post(
"", //url地址
{"name":"zhangsan","age":18},//json格式,请求参数
function(data){ //成功后的回调函数,data是响应参数
alert(data);
},
"text" , //data响应参数的类型
);

(3)ajax异步访问
$.ajax({option})

async boolean(默认true为异步,false为同步)
contentType String
data Object,String
dataType String(服务器返回的数据类型)
success function(请求成功后的回调函数)
error function(请求失败后的回调函数)
type String(请求方式)
url String(发送请求的地址)

(4)后台json数据转换
1)
JSONArray fromObject=JSONArray.fromObject(list);
fromObject.toStrin();

2)
Gson gson=new Gson();
String json=gson.toJson(list);

站内搜索
function searchWord(obj){
//1.获得输入框的内容
var word=$(this).val();
var content="";
//2.根据输入框的内容去数据库模糊查询
$.ajax({
url:"${pageContext.request.contextPath}/login",
dataType:{"word":word},
data:"json"
success:function(data){
//3.将返回的数据显示在输入框下的div内部
for(var i=0;i<data.length;i++){
content+="<div>"+data[i].name+"</div>";
}
$("#div").html(content);
}
});

}

Ajax的学习记录的更多相关文章

  1. vue.js学习记录

    vue.js学习记录 文章已同步我的github笔记https://github.com/ymblog/blog,欢迎大家加star~~ vue实例 生命周期 beforeCreate:不能访问thi ...

  2. 【jQuery】精细学习记录

    [jQuery]精细学习记录 基础 基本语法: $(选择器).action(回调函数); $/jQuery //jQuery核心函数 $(选择器) //获得的jQuery对象 jQuery核心 - j ...

  3. ajax基础学习

    AJAX即"Asynchronous JavaScript and XML",意思是异步JavaScript和XML,是指一种创建交互式网页的网页开发技术. 虽然现在很少有人去自己 ...

  4. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  5. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  6. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  7. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

  8. UWP学习记录11-设计和UI

    UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...

  9. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

随机推荐

  1. PAT天梯赛L3-007 天梯地图

    题目链接:点击打开链接 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至 ...

  2. LeetCode 046 Permutations 全排列

    Given a collection of distinct numbers, return all possible permutations.For example,[1,2,3] have th ...

  3. C++之Vect

    在C++中数组和向量都是多同类元素的集合,他们也有很明显的区别 1 数组属于静态分配,编译之前必须知道数组的大小,一旦确定就不能更改:2个数组之间不能直接赋值实现拷贝,而必须显式用for或者拷贝函数拷 ...

  4. SpringBoot | 第九章:Mybatis-plus的集成和使用

    前言 本章节开始介绍数据访问方面的相关知识点.对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的.目前,绝大部分公司都选择MyBatis框架作为底层数据库持久化框 ...

  5. Windows10 zip安装 MySQL8.0.12

    其实问题不大,就是win10永远有点奇葩的地方. 下载,解压,命名什么的我就不说了. 一 环境变量方便cmd使用mysql MYSQL_HOME = xxx // 就是安装的路径 Path = %MY ...

  6. vnc安装问题

    在xenserver中安装vncserver软件.启动显示正常 用grep命令查看也确实有线程在运行. 但实际上用命令service vncserver status查看vnc状态,显示没有桌面在运行 ...

  7. spring增强

    1.前置增强 接口:ISomeService public interface ISomeService { public void doSome(); } 类 public class MyBefo ...

  8. IE6/7下同级只有一个元素浮动,会换行问题

    .myDiv { background-color: red; width: 200px; height: 200px; padding: 10px; } .div1 { background-col ...

  9. 用gethub下载ardupilot的最新源码

    1进入gethub的官方网站https://github.com/作者:恒久力行 QQ:624668529    在搜索框内输入ardupilot并点击搜索点回车       2会看到很多工程,选择那 ...

  10. 响应式及Bootstrap

    一丶CSS3的@media 查询 使用 @media 查询,你可以针对不同的屏幕大小定义不同的样式. @media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@med ...