JQuery 实现AJAX异步请求 的基本用法
2017-10-13 20:45
507 查看
我们都知道,当显示页面数据的时候我们需要进行刷新页面,但是有时候我们只想刷新局部的页面数据
AJAX 是一种异步请求可以进行局部刷新页面的工具
原理是由JS实现,在这里不进行讲解,只说明JQuery实现AJAX进行局部刷新
JQuery底层是由JS封装的,所以还是JS做的,只是JQuery把它简化了,JS写起来太麻烦有兼容性问题
JQuery版本:
第一种方式 get:
这里有四个参数url,data,callback,type
$.get(
url,
请求的资源路径
data,
提交的请求参数 "username=u123456&password=123456"
function,
回调函数 function(data){ alert(data); } data:是后台响应的数据
type
响应的数据类型,默认为String普通字符串,(String,xml, html, script, json, text)
);
这里的四个参数的顺序不可互换,type可以省略不写默认为String字符串
在使用这种方式接受JSON数据时需要写下type类型为json
例:
$.get(
"${pageContext.request.contextPath}/LoginServlet",
"username=u123456&password=123456",
function(data){
//这里的data是响应回来的数据,加了json类型,这里的data就是一个JSON对象了
alert(data.name);
},
"json"
//当响应的数据是JSON数据时需要写
);
第二种方式 post
$.post(
"${pageContext.request.contextPath}/LoginServlet",
"username=u123456&password=123456",
//这里是以普通参数的形式,json格式传输参数 {"username":"u123456","password":"123456"}
function(data){
//这里的data是响应回来的数据,加了json类型,这里的data就是一个JSON对象了
alert(data.name);
},
"json"
//当响应的数据是JSON数据时需要写
);
可以看出,post和get在书写上没有任何区别,只是换个名字,但是在浏览器传输数据时是不一样的,
顾名思义,get和post在传输数据时仍然是按照我们之前的认识get方式还是参数加在请求路径?的后面,
post方式是开启一个传输流,当前在地址栏上是看不出来的,因为都不会改变
关于请求参数中中文乱码说明:
在之前普通的get和post 请求中会有中文乱码问题,该问题原理和解决方法已经在之前的文章中说明详细.
这里主要说明一下$.post方式
在JQuery中已经对$.post进行了乱码的解决,也就是说在使用$.post请求提交数据时不用处理乱码
也就是不需要request.setCharacterEncoding("utf-8");当然加上也不会有错
在之前的解决方法中get的解决方法可以一同解决get和POST方式的乱码问题,但是在这里的$.POST中
原来的get解决乱码的方式就不能用了,反而不能正确读取中文,
在这里请阅读之前我专门对乱码原理的讲解 : 点击打开链接
但是$.get还是需要我们自己手动进行乱码的解决,get 方式的乱码解决相对复杂,还是请参阅我之前的讲解
第三种方式 ajax
$.get和$post的底层都是由$.ajax实现,$.get和$.post相对于$.ajax使用比较简单,但是$.ajax的功能更加多更强大
$.ajax里面的参数也更多,导致使用起来很不方便,由于我们平时只使用简单的请求功能,
$.get和$.post已经能够满足我们的需求, $.ajax也比较复杂,之后另写一篇专门介绍$.ajax
(以上只是基本使用,请大神们多多评论指教)
AJAX 是一种异步请求可以进行局部刷新页面的工具
原理是由JS实现,在这里不进行讲解,只说明JQuery实现AJAX进行局部刷新
JQuery底层是由JS封装的,所以还是JS做的,只是JQuery把它简化了,JS写起来太麻烦有兼容性问题
JQuery版本:
第一种方式 get:
这里有四个参数url,data,callback,type
$.get(
url,
请求的资源路径
data,
提交的请求参数 "username=u123456&password=123456"
function,
回调函数 function(data){ alert(data); } data:是后台响应的数据
type
响应的数据类型,默认为String普通字符串,(String,xml, html, script, json, text)
);
这里的四个参数的顺序不可互换,type可以省略不写默认为String字符串
在使用这种方式接受JSON数据时需要写下type类型为json
例:
$.get(
"${pageContext.request.contextPath}/LoginServlet",
"username=u123456&password=123456",
function(data){
//这里的data是响应回来的数据,加了json类型,这里的data就是一个JSON对象了
alert(data.name);
},
"json"
//当响应的数据是JSON数据时需要写
);
第二种方式 post
$.post(
"${pageContext.request.contextPath}/LoginServlet",
"username=u123456&password=123456",
//这里是以普通参数的形式,json格式传输参数 {"username":"u123456","password":"123456"}
function(data){
//这里的data是响应回来的数据,加了json类型,这里的data就是一个JSON对象了
alert(data.name);
},
"json"
//当响应的数据是JSON数据时需要写
);
可以看出,post和get在书写上没有任何区别,只是换个名字,但是在浏览器传输数据时是不一样的,
顾名思义,get和post在传输数据时仍然是按照我们之前的认识get方式还是参数加在请求路径?的后面,
post方式是开启一个传输流,当前在地址栏上是看不出来的,因为都不会改变
关于请求参数中中文乱码说明:
在之前普通的get和post 请求中会有中文乱码问题,该问题原理和解决方法已经在之前的文章中说明详细.
这里主要说明一下$.post方式
在JQuery中已经对$.post进行了乱码的解决,也就是说在使用$.post请求提交数据时不用处理乱码
也就是不需要request.setCharacterEncoding("utf-8");当然加上也不会有错
在之前的解决方法中get的解决方法可以一同解决get和POST方式的乱码问题,但是在这里的$.POST中
原来的get解决乱码的方式就不能用了,反而不能正确读取中文,
在这里请阅读之前我专门对乱码原理的讲解 : 点击打开链接
但是$.get还是需要我们自己手动进行乱码的解决,get 方式的乱码解决相对复杂,还是请参阅我之前的讲解
第三种方式 ajax
$.get和$post的底层都是由$.ajax实现,$.get和$.post相对于$.ajax使用比较简单,但是$.ajax的功能更加多更强大
$.ajax里面的参数也更多,导致使用起来很不方便,由于我们平时只使用简单的请求功能,
$.get和$.post已经能够满足我们的需求, $.ajax也比较复杂,之后另写一篇专门介绍$.ajax
(以上只是基本使用,请大神们多多评论指教)
相关文章推荐
- Ajax用法详细解析, 实现异步更新页面, 以及'post'和'get'请求属性介绍
- jquery请求servlet实现ajax异步请求的示例
- 利用JQuery+Ajax实现aspx页面无刷新异步请求
- django 1.4 利用jquery实现ajax ‘get|post’异步请求
- struts2 jquery 插件实现ajax异步请求(网上资料)
- jquery请求servlet实现ajax异步请求
- 利用jquery的ajax实现异步请求发送数据到后台
- Ajax练习三(使用JQuery实现异步请求)
- 续上篇,改用struts2实现JQuery的ajax异步请求
- JQuery中使用Ajax实现诸如登录名检测等异步请求Demo
- 使用JQuery编写AJax实现异步请求
- jquery的ajax实现异步请求范例
- JQuery的Ajax请求实现局部刷新的简单实例
- jquery+ajax实现跨域请求
- Ajax实现异步请求后台XML数据(初学Ajax整理笔记)
- Linq + Jquery + Ajax 实现异步分页,批量删除,单个删除,全选,反选 ……
- jQuery框架+DWR框架实现的Java Web中的Ajax效果(异步请求,局部刷新)
- jquery插件ajaxFileUpload实现异步上传文件案例
- jquery实现级联遇到的ajax同步请求、动态DOM元素监听事件
- ajax请求,$.ajax,jQuery.ajax,$.get,$.post简易用法