当前位置: 首页 > news >正文

免费团购网站模板长春网站建设平台

免费团购网站模板,长春网站建设平台,网站做桌面应用 iOS,政府部门网站模板目录 (一)什么是Ajax (二)同步交互与异步交互 (三)AJAX常见应用情景 (四)AJAX的优缺点 (五)使用jQuery实现AJAX 1.使用JQuery中的ajax方法实现步骤&#xf…

目录

(一)什么是Ajax

 (二)同步交互与异步交互

(三)AJAX常见应用情景

 (四)AJAX的优缺点

 (五)使用jQuery实现AJAX

1.使用JQuery中的ajax方法实现步骤(jQuery是js的一个框架)

2.$.ajax()

语法:

 (六)案例:实现光标移开输入框就判断用户名是否存在的功能

思路:

运行结果:


(一)什么是Ajax

        Ajax(Asynchronous Javascript And XML) 翻译成中文就是“异步JavaScript和XML”,即使用JavaScript与服务器进行异步交互,传输的数据为XML。

        AJAX还可以在浏览器实现局部刷新的效果,即不需要刷新整个页面,就比如之前的案例:验证码,这一特点给用户的感受是在不知不觉中完成请求和响应过程。

特点:

  • 与服务器异步交互
  • 实现浏览器页面局部刷新 

 (二)同步交互与异步交互

  • 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;

  • 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。

       通俗来说,同步交互就如同,当你向一个人发消息,你发了一条,必须要等对方回复了才能发下一条,异步交互则不需要等待对方的回复,两人可以同时发送自己想发的信息。

(三)AJAX常见应用情景

当输入用户名后,把光标移动到其他表单项上时,浏览器会使用AJAX技术向服务器发出请求,服务器会查询名为zhangSan的用户是否存在,最终服务器返回true表示名为zhangSan的用户已经存在了,浏览器在得到结果后显示“用户名已被注册!”。

  • 整个过程中页面没有刷新,只是局部刷新了;

  • 在请求发出后,浏览器不用等待服务器响应结果就可以进行其他操作;

 (四)AJAX的优缺点

优点:

  • AJAX使用JavaScript技术向服务器发送异步请求
  • AJAX不需要刷新整个页面
  • 因为服务器不是响应的整个页面,而是局部,所以AJAX能够提高系统的性能

缺点:

  • AJAX并不适用所有场景,有很多情况还是需要用到同步交互
  • AJAX虽然提高了用户的体验,但无形中向服务器发送了太多请求,导致服务器的压力增大
  • 因为AJAX是在浏览器中使用JavaScript技术完成的,所以还需要考虑服务器的兼容性问题

 (五)使用jQuery实现AJAX

        JQuery中已经将AJAX相关的操作进行了封装,使用时只需要在合适的地方调用AJAX相关的方法即可

1.使用JQuery中的ajax方法实现步骤(jQuery是js的一个框架)

  1. 先引入jQuery文件
  2. 调用jQuery中的ajax函数
  3. 编写Servlet方法(接受请求并处理)
  4. 在ajax中接收来自服务端的结果

2.$.ajax()

$.ajax()可以通过发送HTTP请求加载远程数据,是jQuery最底层的AJAX的实现,具有较高灵活性

语法:

$.ajax(

参数1:请求地址url,

参数2:请求类型,

参数3:请求参数,

参数4:请求参数的类型,

参数5:请求成功的回调函数

);

常用设置参数如下:

参 数说 明
String url发送请求的地址,默认为当前页地址
String type请求方式(POST或者GET,默认为GET)
Number timeout设置请求超时时间
Object data 或 String data发送到服务器的数据
String dataType预期服务器返回的数据类型,可用类型有:XML,HTML,Script,JSON,JSONP,Text
function beforeSend(XMLHttpRequest xhr)发送请求前调用的函数参数xhr,可选, XMLHttpRequest对象
function complete(XMLHttpRequest xhr,String ts)请求完成后调用的函数(请求成功或失败时均调用)参数: xhr,可选, XMLHttpRequest对象, ts可选,描述请求类型的字符串
function success(Object result,String ts)请求成功后调用的函数参数result:可选,由服务器返回的数据参数ts可选,描述请求类型的字符串
function error(XMLHttpRequest xhr,String em,Exception e)请求失败时调用的函数参数: xhr,可选, XMLHttpRequest对象, 参数em可选,错误信息参数e:可选 ,捕获的异常对象
boolean global默认为true,表示是否触发全局的AJAX事件

 (六)案例:实现光标移开输入框就判断用户名是否存在的功能

思路:

  1. 绑定事件bluron,实现光标移开聚焦即可检测用户名是否存在
  2. 在jsp中使用ajax函数,湘服务器传递参数
  3. 编写Servlet类,通过response对象得到响应输出流,湘客户端写入用户名是否存在的数据
  4. 编写dao层方法,从数据库中查询该用户名的信息

JSP页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>注册页面</title><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script>$(function(){$("#uname").blur(function(){var uname = $(this).val();if(uname == ""){$("#remind").html("用户名不能为空");} else {$.ajax({url: "http://localhost:8080/CheckUsername",type: "get",data: "uname=" + uname,dataType: "text",success: function(result) {console.log("Response received: " + result);alert(result);},error: function(xhr, status, error) {console.error("AJAX Error: " + status + error);}});}});});</script>
</head>
<body>
用户名:<input type="text" name="uname" id="uname" /><span id="remind"></span>
</body>
</html>

Servlet方法:

@WebServlet("/CheckUsername")
public class CheckUsernameServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 接收前端输入的用户名String uname = req.getParameter("uname");req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");UserService userService = new UserServiceImpl();if(userService.queryUsername(uname)){resp.getWriter().write("用户名已存在");}else{resp.getWriter().write("用户名不存在");}}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}
}

Dao层方法:

public class UserDaoImpl implements UserDao {@Overridepublic boolean queryUsername(String uname) {Connection conn = null;try {conn= JdbcUtils.getConnection();String sql="select * from users where username = ? ";QueryRunner qr=new QueryRunner();List<User> users = qr.query(conn,sql,new BeanListHandler<User>(User.class),uname);if (users.size()==0){return false;}else {return true;}} catch (SQLException e) {throw new RuntimeException(e);}}
}

运行结果:

用户名不存在:

用户名已存在:

http://www.ds6.com.cn/news/69209.html

相关文章:

  • 开一间网站建设有限公司百度指数网址
  • 成都网站建设公司是什么杭州专业seo服务公司
  • 做论坛网站看什么书网站推广公司排名
  • 网站备案基础知识优化方案怎么写
  • 一个网站开发需要几人新冠疫情最新数据
  • 江西中创建设有限公司网站深圳谷歌seo推广
  • 个人网站毕业论文个人主页网页设计
  • WordPress留言表单仿制seo怎么快速提高排名
  • 江苏建设银行网站seo排名首页
  • 网站后台上传内容前台首页不显示seo综合查询站长工具关键词
  • 想用vs做网站 学什么竞价推广思路
  • 凡科 做网站宁波优化网页基本流程
  • 苏州高端网站建设咨询网站开发从入门到实战
  • 河北建设厅身份认证锁登录网站黑龙江头条今日新闻
  • 微信做淘宝优惠券但网站是怎么建设但微信推广软件有哪些
  • 一个app费用多少钱深圳市网络seo推广平台
  • 局域网网站建设教程搜狗搜索引擎网页
  • 成都网站制作网站百度一下百度网页版主页
  • wordpress维护页面插件网站优化分析
  • wordpress网站go.php跳转搜外友链平台
  • 网络公司网站asp营业推广策划方案
  • 做移动网站优化高端网站建设公司哪家好
  • 做p2p理财网站百度怎么优化网站关键词
  • 泰州网站设计哪家好最新新闻实时新闻
  • 网站权重一直做不上去网站推广有哪些方式
  • 西宁市建设局网站seo查询 站长工具
  • 江门网站设计百度地图在线使用
  • 加盟网官方网站营销渠道策略有哪些
  • 网站建设销售技巧和话术郑州网站推广公司咨询
  • wordpress文章显示时间seo外链推广工具