jquery实现ajax无刷新效果
2017-09-02 09:52
465 查看
1、get请求和post请求
语法:jquery.get(url,[data],[callback],[type])
语法:jquery.post(url,[data],[callback],[type])
参数:url是必须的,其他三个都是可选的参数。
url:待载入页面的url地址
data:要发送的key/value参数
callback:载入成功时的回调函数
type:返回内容格式,xml, html, script, json, text, _default
2、举例
获得AjaxServlet页面返回的 json 格式的内容:
3、做一个特别简单的例子体会一下用法。
index.jsp界面代码:
AjaxServlet代码:
页面如下:点击getTest,会发送get请求,然后弹出返回的数据。但是我们可以看到虽然发送了请求,但是页面并没有刷新。
其实逻辑也就这么简单
1、请求通过url地址到要请求的目标地址
2、目标地址进行一系列操作将需要返回数据输出到页面,是通过创建response.getWriter()的输出流,通过输出流的print()方法把返回的内容发送到页面。
3、请求方法通过回调函数function(data){}来接收到目标地址输出到页面的数据data
4、期间的请求都是不刷新的。
下面这是使用JavaScript实现的get和post请求:
语法:jquery.get(url,[data],[callback],[type])
语法:jquery.post(url,[data],[callback],[type])
参数:url是必须的,其他三个都是可选的参数。
url:待载入页面的url地址
data:要发送的key/value参数
callback:载入成功时的回调函数
type:返回内容格式,xml, html, script, json, text, _default
2、举例
获得AjaxServlet页面返回的 json 格式的内容:
$.post("AjaxServlet", //1、请求的页面 { //2、要发送的键值对数据 "username": "lili" }, function(data){ //3、请求成功的回调函数,data是传递回来的数据 console.log(data); }, "json"); //4、返回内容的类型
3、做一个特别简单的例子体会一下用法。
index.jsp界面代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> function doGet(){ var url = "AjaxServlet"; //请求的地址 $.get(url,function(data){ //get请求 alert(data); //data:请求返回的数据 }); } function doPost(){ var url = "AjaxServlet"; //请求的地址 $.post(url,{ //post请求发送的数据,键值对。可以通过request.getParameter("键")来获得传递的数据的值 "usernameA":"admin", "password":"123123" },function(data){ //回调函数 if(data == "success"){ alert("成功"); } }); } </script> </head> <body> <input type="button" value="getTest" onclick="doGet()"> <input type="button" value="postTest" onclick="doPost()"> </body> </html>
AjaxServlet代码:
@WebServlet("/AjaxServlet") public class AjaxServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.print("这是get请求返回的内容"); //这是返回的data,会发送到页面 out.flush(); out.close(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("UTF-8"); //设置响应的编码格式,以防止中文乱码 String username = request.getParameter("usernameA"); //得到post请求的时候传递进来的键值对 String password = request.getParameter("password"); PrintWriter out = response.getWriter(); if ("admin".equals(username) && "123123".equals(password)) { //admin和123123是自己随便写的测试数据 4000 out.print("success"); //print的内容会输出到页面 } else { out.print("fail"); } out.flush(); out.close(); } }
页面如下:点击getTest,会发送get请求,然后弹出返回的数据。但是我们可以看到虽然发送了请求,但是页面并没有刷新。
其实逻辑也就这么简单
1、请求通过url地址到要请求的目标地址
2、目标地址进行一系列操作将需要返回数据输出到页面,是通过创建response.getWriter()的输出流,通过输出流的print()方法把返回的内容发送到页面。
3、请求方法通过回调函数function(data){}来接收到目标地址输出到页面的数据data
4、期间的请求都是不刷新的。
下面这是使用JavaScript实现的get和post请求:
<script type="text/javascript"> var request = new XMLHttpRequest(); function doGet() { var urls = "http://localhost:1234/Ajax/AjaxServlet"; request.open("GET", urls); //设置打开方式为get和请求的地址 request.send(null); //准备发送请求 request.onreadystatechange = function() { if(request.readyState == 4 && request.status == 200) { var temp = request.responseText; //响应的文本 } } } function doPost() { var urls = "http://localhost:1234/Ajax/AjaxServlet"; request.open("POST", urls); //设置打开方式为post和请求地址 request.setRequestHeader("content-Type","application/x-www-form-urlencoded"); //设置以表单形式提交 request.send("username=aaaa&password=123"); //准备发送请求(post请求有参数) request.onreadystatechange = function() { if(request.readyState == 4 && request.status == 200) { var temp = request.responseText; //响应的文本 } } } </script>
相关文章推荐
- jQuery基于ajax实现带动画效果无刷新柱状图投票代码
- Jquery结合setinterval实现ajax实时刷新前台数据的效果
- jQuery基于ajax实现带动画效果无刷新柱状图投票代码
- Ajax 的jquery与后台交互实现无刷新效果
- jQuery+AJAX实现无刷新分页滚动下拉加载
- jquery+ajaxpro实现google输入提示效果(含拼音匹配)
- jQuery-ajax实现的弹出菜单效果
- AJAX学习心得分享----(二)使用JQuery实现AJAX效果
- php+jQuery+Ajax实现点赞效果的方法(附源码下载)
- (局部刷新)jquery.ajax提交并实现单个div刷新
- Jquery+php+mysql实现上拉加载更多,后端CI,超详细,有示例(其实就是ajax无刷新分页)
- (局部刷新)jquery.ajax提交并实现单个div刷新
- Ajax:后台jquery实现ajax无刷新删除数据及demo
- jquery的ajax效果最简单实现 及innerhtml()和innertext()的区别
- jQuery+Ajax实现无刷新操作
- jQuery实现AJAX定时局部页面刷新
- PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
- asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
- 基于jQuery的ajax系列之用FormData实现页面无刷新上传