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. AT2348 HonestOrUnkind

    传送门 显然\(a>b\)的情况下才有解 考虑先找出一个诚实的人,然后剩下的都可以在\(n\)次以内问出来了 发现如果一个人说另一个人是说谎的那么这两个人必有一个是说谎的,由于诚实的人严格多于不 ...

  2. SP1026 FAVDICE - Favorite Dice

    题目描述 一个\(n(n \leq 1000)\)面的骰子,求期望掷几次能使得每一面都被掷到. 输入输出样例 输入样例#1: 2 1 12 输出样例#1: 1.00 37.24 思路:期望\(dp\) ...

  3. php微信公众号开发简单记录

    开发前准备:1.服务器 2.微信公众号测试号(有真实的账号更好) 测试号申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/lo ...

  4. centos7安装配置docker

    1. 安装/升级Docker客户端 Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . uname -r 从 ...

  5. win下rabbitmq的安装

    安装erlang 10.4 和 rabbitmq 3.7.5 然后关闭rabbitmq服务 然后设置 erlang和rabbitmq的环境变量 ERLANG_HOME=erlang安装目录 RABBI ...

  6. c# log4Net 详细说明

    转载 http://www.cnblogs.com/kissazi2/p/3392605.html

  7. haoi2018奇怪的背包题解

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=5302 对于一个物品,设它体积为v,那么,在背包参数为p的情况下,它能达到gcd(v,p ...

  8. 牛客假日团队赛1 D.Promotion Counting

    链接: https://ac.nowcoder.com/acm/contest/918/D 题意: Bessie the cow is helping Farmer John run the USA ...

  9. 爬虫(AJEX)——豆瓣动态页面

    工具:python3 解释:Ajax 是一种用于创建快速动态网页的技术,在无需重新加载整个网页的情况下,能够更新部分网页的技术. 目标:爬取使用Ajex结束的豆瓣网页 import urllib.re ...

  10. 大数据“重磅炸弹”——实时计算框架 Flink

    Flink 学习 项目地址:https://github.com/zhisheng17/flink-learning/ 博客:http://www.54tianzhisheng.cn/tags/Fli ...