ajax异步传输
2015.12.7 ajax异步传输
1、ajax :不是一个新的技术。
js(XMLHTTPRequest) html css dom xml
这里只是一个新的js的内置对象。这算是js想要变得流行的第二招,第一招是从起名叫做javascript,第二步就是异步传输,获得更棒的用户体验。对于异步传输的起名:依然采用了一个能让自己变火的名字:ajax x就是借助了当时最火的数据传递方式:xml。所以对于异步传输来说可以采用xml作为数据的传递方式也可以采用json作为数据的传递格式。
Ajax的全名叫做:Asynchronous JavaScript And XML
2、作用:在不中断用户操作的前提下,完成用户的提交从而提高用户体验。同时因为是局部刷新所以提高了页面的响应速度,节省了流量,提供了更加高效的网络资源的应用环境。
3、Ajax的使用方式:
1)创建异步请求对象
2)根据一步请求的对象,打开和服务器之间的链接
3)设置(注册)一个回调函数(用来接收服务器做出的响应)
4)发送请求【因为此时才发送请求,所以2、3顺序可以交换】
5)得到回调后,处理响应回来的数据。
4、在get请求的方式下,传递数据仅有2种方式。
1)通过地址栏的问号参数进行传值,
2)通过请求头信息进行传值
3)注:get请求方式下,send方法不可用。
5、在post的请求的方式下,传递数据有3种方式:
1)地址栏的问号参数方式
2)请求头的方式
3)以send方式进行传递,不过:
需要在请求头中:进行这样的设置:【content-type:application/x-www-form-urlencoded】此时服务器会议表单形式接收请求的数据。
6、异步传输的数据,也是以字符串的形式,但是在字符串中又有一定的格式,key=value
7、利用xml传输的格式还是字符串,但是字符串中写的也是xml标签,标签中才是数据
8、还有一个二级联动的例子,通过选择省得到对应的市的下拉菜单中的内容。这个自己也要敲一遍。然后试着利用递归做一个可以访问更多层级的案例。不过一般也就2-3级。总写就会有想法的。
作业:1、课堂例子
2、购物车、修改购买数量、改成异步的
3、json
Ajax说到底是前端的javascript技术,并不涉及到后端的什么,不用想那么神秘。

回调函数的相应设置:当状态是4的时候才有必要进行处理,当其他时段都还不必要。
快哭出来了~,为什么根本不出结果呢!!!
Ajax应用举例:
1)Div浮层式的登录窗口
2)停留在右下角的广告层
3)变换图片div(幻灯新闻)
4)选项卡
5)菜单栏
6)框架的应用
AJAX技术的作用
1)更自然、更流畅的用户体验,对用户的操作即时响应
2)在不中断用户操作的情况下与web服务器进行通信
3)更林敏的响应用户访问,实现近似于桌面应用程序的交互效果
4)通过局部更新页面,降低网络流量,提高网络的使用效率
AJAX(Asynchronous JavaScript And XML)
1)HTML用于建立web表单并确定应用程序其他部分使用的字段
2)javaScript代码试运行AJAX应用程序的核心代码,帮助改进与服务器应用程序的通信。
3)DHTML或DynamicHTML,用于动态更新表单
4)文档对象模型DOM用于处理HTML结构和服务器返回的XML
老师你骗人!!!这个 出不来结果!!!
利用刚刚那种方式取得到的结果是null。并不知道 怎么可以弄出来。但是可以通过参数获得。这个时候通过参数是可以获得值的。
所以结果不能再用head获得,因为head里面就只有:
accept
accept-language
referer
content-type
ua-cpu
accept-encoding
user-agent
host
content-length
connection
cache-control
Cookie
这几个属性,但是设置过Content-type之后,就可以允许在send里面以表单的形式,将数据发送出来。详情看postwithsend和TestServlet5里面的设置。自己做的时候出现的一些问题:
问题就是不知道哪里出了问题。
哦哦哦!想起来了,刚刚利用

问题在这里,现在使用javaEE6,web3.0就跑了,但是刚刚使用JavaEE7-web3.1就是不出结果,可以再试试这里。再用6跑一次 7跑一次。而且!!!利用7的环境创建servlet时候,在web.xml
里面description、display-name、servlet-name三者的关系是错位的。所以7是不稳定的。小超利用8.6的结果是一样的。我再试试这些问题。这次用7也跑出来了。。。笑哭。不知道问题在哪里,看来果然除了bug还是重写为王道。但是这个异步的东西不知道放在了哪里。就是不太会更新,所以,如果一旦出了问题,还是要重启。重新部署是不好使了。嗯!对于这个bug重启myeclipse是好使的。但是好像底下也就是控制台貌似不太输出啊。看来得需要一个什么方式把它先印出来,才行。上次关于 那个 内置对象也有bug。监听器,那个部分的。真的是不重启都不刷新。这个的演示就不要再用内置的浏览器了,要改用外面的浏览器。
编码是个问题【待解决】


除了 过去时候的编码问题全部解决,主要指异步传输这个地方。
ajax异步传输的更多相关文章
- AJAX— 异步传输
AJAX异步传输 AJAX— 异步传输 AJAX浏览器与服务器异步传输数据,通过异步请求大大减少数据信息访问量,通俗:AJAX对局部刷新而不是对整个页面刷新,AJAX使得程序更快,更友好. AJAX处 ...
- AJAX异步传输——以php文件传输为例
此文档解决以下问题: 一.在当前html页面显示请求的数据1.get方式请求 ,不传递参数2.get方式请求 ,传递参数3.post方式请求 ,不传递参数4.post方式请求 ,传递参数 二.通过按 ...
- for循环内 执行$ajax(){}
真是郁闷,在for 循环里添加了ajax异步传输之后,for循环是单线程处理,就是里面执行的是ajax,也不异步处理数据.而是执行完for循环的次数后,一起把ajax的数据处理掉. 解决办法.分开吧! ...
- js对ajax返回数组的处理
引言: ajax异步传输,可以传输字符串,但是数组这样的数据,就不太好传递了,这个时候怎么办呢? 答案是可以通过json来处理,后台将数据数据进行json编码! 然后客户端,通过js来进行解析. 这样 ...
- AJAX异步提交,浏览器总跳出下载界面
问题: 我在写一个网页的“用户登录”部分时,要将用户名和密码传到后端验证,想在前端用了AJAX异步提交功能,将 用户名密码传到后端,然后后端返回验证结果.但AJAX写好后每次刷新网页都会跳出下载窗口, ...
- AJAX传输——以XML文件传输为例
此文档解决以下问题: 一.responseText获取数据 1.AJAX异步传输,get请求方式/post请求方式,输出全部xml数据 二.responseXML获取数据 2.AJAX异步传输,get ...
- Ajax实现文件上传的临时垃圾文件回收策略
转载请注明原文出处:http://www.cnblogs.com/ygj0930/p/6126240.html 在我们web开发过程中,一个很重要的技术就是Ajax(异步传输).Ajax通过把数据从网 ...
- 什么是ajax和json,说说他们的优缺点
ajax异步传输的js和xml.实现页面无刷新状态更新页面和异步提交 所谓异步,简单解释就是:向服务器发送请求的时候,我们不必等待结果,而是同时做其他的事情,等到有了结果后它自己会根据设定进行后续操作 ...
- 动态生成能够局部刷新的验证码【AJAX技术】---看了不懂赔你钱
在开发JavaWeb应用时,动态生成能够局部刷新的验证码是一项必须的功能,在这里我们将会详细的讲解如何实现这一功能. 一.涉及技术 该功能需要用到AJAX异步传输技术,这样能保证在点击"看不 ...
随机推荐
- error opening registry key software/javasoft/java runtime environment
些问题是由于多个版本java相互冲突,查看环境变量,删除其中一个即可.1.把Path里的%JAVA_HOME%\bin;放到最前面就可以,解决了给分! 2.是因为文件夹“%SystemRoot%\sy ...
- easyui datagrid plunges 扩展 插件
项目使用 springmvc4.x spring4.x hibernate4.x easyui 为了便于开发,扩展了easyui 的 datagrid 功能,下面直接贴上扩展代码: /** * ...
- memcached实例(enyim.com Memcached Client)
在上一篇文章,我们讲了,为什么要使用memched做为缓存服务器(没看的同学请点这里).下面让我们以memcached-1.2.1-win32版本的服务组件(安装后是以一个windows服务做daem ...
- android Service Activity三种交互方式(付源码)
android SDK提供了Service,用于类似Linix守护进程或者windows的服务. Service有两种类型: 本地服务(Local Service):用于应用程序内部 远程服务(Rem ...
- MySql定位执行效率较低的SQL语句
MySQL能够记录执行时间超过参数 long_query_time 设置值的SQL语句,默认是不记录的. 获得初始锁定的时间不算作执行时间.mysqld在SQL执行完和所有的锁都被释放后才写入日志.且 ...
- HDOJ 1863
#include<stdio.h> #include<string.h> int father[105],depth[105]; int dist[105],map[101][ ...
- [JCWC2005]Draw
Einstein学起了画画,此人比较懒--,他希望用最少的笔画画出一张画...给定一个无向图,包含 n 个顶点(编号1~n),m 条边,求最少用多少笔可以画出图中所有的边 Input (draw.in ...
- 人工神经网络(Artificial Neural Networks)
人工神经网络的产生一定程度上受生物学的启发,因为生物的学习系统是由相互连接的神经元相互连接的神经元组成的复杂网络.而人工神经网络跟这个差不多,它是一系列简单的单元相互密集连接而成的.其中每个单元有一定 ...
- 详细讲解Hadoop源码阅读工程(以hadoop-2.6.0-src.tar.gz和hadoop-2.6.0-cdh5.4.5-src.tar.gz为代表)
首先,说的是,本人到现在为止,已经玩过. 对于,这样的软件,博友,可以去看我博客的相关博文.在此,不一一赘述! Eclipse *版本 Eclipse *下载 Jd ...
- poj 3177 Redundant Paths【求最少添加多少条边可以使图变成双连通图】【缩点后求入度为1的点个数】
Redundant Paths Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11047 Accepted: 4725 ...