分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

AJAX

发布时间:2023-09-06 01:29责任编辑:白小东关键词:暂无标签

AJAX介绍

维基百科:

AJAX即“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。Ajax的概念由杰西·詹姆士·贾瑞特所提出。
传统的Web应用允许用户端填写表单(form),当提交表单时就向网页服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML码往往是相同的。由于每次应用的沟通都需要向服务器发送请求,应用的回应时间依赖于服务器的回应时间。这导致了用户界面的回应比本机应用慢得多。
与此不同,AJAX应用可以仅向服务器发送并取回必须的数据,并在客户端采用JavaScript处理来自服务器的回应。因为在服务器和浏览器之间交换的数据大量减少(大约只有原来的5%)[来源请求],服务器回应更快了。同时,很多的处理工作可以在发出请求的客户端机器上完成,因此Web服务器的负荷也减少了。
类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。虽然其名称包含XML,但实际上数据格式可以由JSON代替,进一步减少数据量,形成所谓的AJAJ。而客户端与服务器也并不需要异步。一些基于AJAX的“派生/合成”式(derivative/composite)的技术也正在出现,如AFLAX......

大家说:

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

AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程)

比如我们到某电商网站搜宝贝,我们向搜索框里输入‘手’,他就会出现一堆下拉列表 ‘xxx手机....‘ 其实这里就使用了AJAX技术!当文件框发生了输入变化时,浏览器会使用AJAX技术向服务器发送一个请求,查询包含“手”字的前几个关键字,然后服务器会把查询到的结果响应给浏览器,最后浏览器把这几个关键字显示在下拉列表中。

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????.error{ ???????????color:red ???????} ???</style></head><body><form class="Form"> ???<p>姓名&nbsp;&nbsp;<input class="v1" type="text" name="username" mark="用户名"></p> ???<p>密码&nbsp;&nbsp;<input class="v1" type="text" name="email" mark="邮箱"></p> ???<p><input type="submit" value="submit"></p></form><script src="jquery-3.1.1.js"></script><script> ???$(".Form :submit").click(function(){ ???????flag=true; ???????$("Form .v1").each(function(){ ???????????var value=$(this).val(); ???????????if (value.trim().length==0){ ????????????????var mark=$(this).attr("mark"); ????????????????var $span=$("<span>"); ????????????????$span.html(mark+"不能为空!"); ????????????????$span.prop("class","error"); ????????????????$(this).after($span); ????????????????setTimeout(function(){ ?????????????????????$span.remove(); ????????????????},800); ????????????????flag=false; ????????????????return flag; ???????????} ???????}); ???????return flag ???});</script></body></html>
js实现局部刷新(可忽略)

AJAX的优点

  • AJAX使用Javascript技术向服务器发送异步请求;
  • AJAX无须刷新整个页面;
  • 因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高;

基于jQuery的AJAX

$.ajax({url: "/URL/",type: "POST",data: {"name": "lcg"},success: function(data){// data就是后端发过来的数据字符串// 前端做反序列化var dataObj = JSON.parse(data) ?// 把收到的字符串反序列化成对象dataObj["status"] ?// 就可以拿到具体的值dataObj.status}})// 后端序列化:dic = {"status": 0, "msg": "哈哈"}import jsonstr = json.dumps(dic)

  

AJAX

原文地址:http://www.cnblogs.com/0bug/p/7994473.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved