ajax使用,ajax使用jsonp
怎样合理地使用 Ajax ?
页面上首次显示的内容尽量不要用 Ajax,显示更多(或换页)的时候用。
切换页面的时候不用要 Ajax
不要因为网页的 header 或者 side 部分没有变化而用 Ajax。
因为这是不同的页面,换句话说,是有完全不同的内容或者完全不同的页面逻辑。他们的 URL 就应该不同。使用了 HTML5 History API 例外,但是同时要考虑兼容早期版本的浏览器。
提交、修改、删除的部分一般用 Ajax
看看某些网页“添加”、“删除”、“修改”,都是 Ajax。
但是网页的 “添加” 的提交并没有采用 Ajax,因为添加是个多入口的操作(各个页面都可以有),所以添加成功后,需要统一重定向到首页。而其他的诸如 “添加” 只有在当前问题页面才有,所以无需刷新,只需修改 DOM。
消息提醒的部分一般用 Ajax
因为很有可能会用到 Comet 长连接来保证消息的实时推送,那么除了 WebSocket 之外最好的选择只有 Ajax。
编码的时候模块分工明确
比如使用了 jQuery,那么所有的 Ajax 请求都最好做一层包装,然后再转移给 $.post 或者 $.ajax 之类的方法。
ajax如何使用?
ajax请求的五个步骤如下
步骤如下五个步骤
1.创建异步对象,首先,创建一个XMLHttpRequest异步对象。
2.设置请求方式和地址,然后,设置请求方式和请求地址
3.用send发送请求,接着,用send发送请求。
4.监听状态变化,然后,监听状态变化。
5.接收返回的数据,最后,接收返回的数据
JS里AJAX的使用--(服务器与客户端数据交换)
使用ajax需要先了解计算机前后端的通信原理,也就是需要了解我们的服务器与客户端数据是如何交换的。
DNS的查询过程:(以访问为例)
1、在浏览器中输入域名,操作系统会先检查自己 本地的hosts文件 是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
2、如果hosts里没有这个域名的映射,则查找 本地DNS解析器缓存 ,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它 本地DNS服务器 ,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4、如果要查询的域名,不由本地DNS服务器区域解析,但该 服务器 已 缓存 了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至 根DNS ,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该 顶级域名服务器 的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到主机。
端口号
端口号---具有网络功能的应用软件的标识号。注意,端口号是不固定的,即可以由用户手工可以分配(当然,一般在软件编写时就已经定义)。当然,有很多应用软件有公认的默认的端口,比如FTP:20和21,HTTP:80,TELNET:23等等,这里就不一一列举了。一个软件可以拥有多个端口号,这证明这个软件拥有不止一个网络功能。
0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的,而1024-65535是并没有公共定义的端口号,用户可以自己定义这些端口的作用。
那么端口号到底有什么作用呢?请大家继续往下看。
当一台电脑启动了一个可以让远程其他电脑访问的程序,那么它就要开启至少一个端口号来让外界访问。我们可以把没有开启端口号的电脑看作是一个密封的房间,密封的房间当然不可能接受外界的访问,所以当系统开启了一个可以让外界访问的程序后它自然需要在房间上开一个窗口来接受来自外界的访问,这个窗口就是端口。
那么为什么要给端口编号来区分它们呢,既然一个程序开了一个端口,那么不是外部信息都可以通过这个开启的端口来访问了吗?答案是不可以。为什么呢?因为数据是用端口号来通知传输层协议送给哪个软件来处理的,数据是没有智慧的,如果很多的程序共用一个端口来接受数据的话,那么当外界的一个数据包送来后传输层就不知道该送给哪一个软件来处理,这样势必将导致混乱。
上一次提到提到在一个经过OSI第四层传输层封装的数据段的第四层报头里包含两个端口号,既源端口号和目的端口号,目的端口号的作用上面已经介绍了,下面让我们了解一下原端口号吧。
源端口号一般是由系统自己动态生成的一个从1024-65535的号码,当一台计算机A通过网络访问计算机B时,如果它需要对方返回数据的话,它也会随机创建一个大于1023的端口,告诉B返回数据时把数据送到自己的哪个端口,然后软件开始侦听这个端口,等待数据返回。而B收到数据后会读取数据包的源端口号和目的端口号,然后记录下来,当软件创建了要返回的数据后就把原来数据包中的原端口号作为目的端口号,而把自己的端口号作为原端口号,也就是说把收到的数据包中的原和目的反过来,然后再送回A,A再重复这个过程如此反复直到数据传输完成。当数据全部传输完A就把源端口释放出来,所以同一个软件每次传输数据时不一定是同一个源端口号.
端口分类 逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类:
1、 按端口号分布划分
(1)知名端口(Well-Known Ports)
知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
(2)动态端口(Dynamic Ports)
动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。
不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。
2、按协议类型划分
按协议类型划分,可以分为TCP、UDP、IP和ICMP(Internet控制消息协议)等端口。下面主要介绍TCP和UDP端口:
(1)TCP端口
TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等等。
(2)UDP端口
UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。
常用的端口号
【21端口】
21端口主要用于FTP(File Transfer Protocol,文件传输协议)服务。
【23端口】
23端口主要用于Telnet(远程登录)服务,是Internet上普遍采用的登录和仿真程序。
【25端口】
25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务器所开放,主要用于发送邮件,如今绝大多数邮件服务器都使用该协议。
【53端口】
53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。
【69端口】
TFTP是Cisco公司开发的一个简单文件传输协议,类似于FTP。
【80端口】
80端口是为HTTP(HyperText Transport Protocol,超文本传输协议)开放的,这是上网冲浪使用最多的协议,主要用于在WWW(World Wide Web,万维网)服务上传输信息的协议。
【443 端口】
服务:Https
说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
【109、110端口】
109端口是为POP2(Post Office Protocol Version 2,邮局协议2)服务开放的。
110端口是为POP3(邮件协议3)服务开放的,POP2、POP3都是主要用于接收邮件的。
一分钟学会什么是Ajax及Ajax请求的五个步骤
AJAX的意思就是异步的JavaScript和XML。简而言之,它是使用XMLHttpRequest对象与服务器端通信的脚本语言。它可以发送及接收各种格式的信息,包括JSON、XML、HTML和文本文件。AJAX最为吸引人的就是它的“异步”特性,AJAX可以无需刷新页面而与服务器端进行通信。
Ajax请求的五个步骤:
1、建立xmlHttpRequest对象
if(window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
if(xmlHttp.overrideMimeType) {
xmlHttp.overrideMimeType("text/xml");
}
} else if(window.ActiveXobject) {
var activeName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for(var i = 0; i activeName.length; i++) {
try {
xmlHttp = new ActiveXobject(activeName[i]);
break;
} catch(e) {}
}
}
if(!xmlHttp) {
alert("创建xmlhttprequest对象失败");
} else {}
2、设置回调函数
xmlHttp.onreadystatechange= callback;
function callback(){}
3、使用OPEN方法与服务器建立连接??xmlHttp.open("get","ajax?name="+ name,true)
此步注意设置http的请求方式(post/get),如果是POST方式,注意设置请求头信息xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
4、向服务器端发送数据
xmlHttp.send(null);如果是POST方式就不为空
5、在回调函数中针对不同的响应状态进行处理
if(xmlHttp.readyState == 4){ ????? //判断交互是否成功
if(xmlHttp.status == 200){ ??????? //获取服务器返回的数据 ??????? //获取纯文本数据
var responseText =xmlHttp.responseText;
document.getElementById("info").innerHTML = responseText;
}
}
扩展资料:
Ajax优缺点
优点:
1、异步请求,不妨碍用户浏览页面或者其他操作。
2、局部刷新,无需重新刷新页面。
3、界面与应用分离。有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。
4、基于标准被广泛支持。
5、前端和后端负载平衡。最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。
缺点:
1、back和History,对浏览器机制的破坏。
2、安全问题。易受到黑客攻击。
3、对搜索引擎支持较弱。
4、不能很好支持移动设备。
5、违背URL和资源定位的初衷。
ajax使用步骤
1. 下载安装 ASPAJAXExtSetup.msi
2. 重新启动IDE
3. 这时你会发现在工具栏中多了Ajax extensions 的工具项4. 配置Web_ConfigAjax(Asynchronous JavaScript and XML),直译为“异步的JavaScript与XML技术”,是一种创建交互式网页应用的网页开发技术,用于创建快速动态网页,由杰西·詹姆士·贾瑞特所提出。与传统的Web应用相比,Ajax通过浏览器与服务器进行少量的数据交换就可以实现网页的异步更新,在不重新加载整个网页的情况下,即可对网页进行更新。“阿贾克斯” (Ajax)和阿贾克斯足球队同音。这个术语源自描述从基于 Web 的应用到基于数据的应用。
Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
使用 JavaScript 向服务器提出请求并处理响应而不阻塞用户!核心对象XMLHTTPRequest。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果。
Ajax 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
Ajax可使因特网应用程序更小、更快,更友好。
Ajax 是一种独立于 Web 服务器软件的浏览器技术。 Ajax 基于下列 Web 标准:
JavaScript、XML、HTML与CSS在 Ajax 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。Ajax 应用程序独立于浏览器和平台。
Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。
不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。通过 Ajax,因特网应用程序可以变得更完善,更友好。
AJAX的主要用途是什么?
ajax 主要是实现页面和 web 服务器之间数据的异步传输。
Ajax 即“Asynchronous?Javascript?And?XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。Ajax = 异步?JavaScript?和 XML 或者是 HTML(标准通用标记语言的子集)。Ajax 是一种用于创建快速动态网页的技术。
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。
举个简单例子,不采用 ajax 的页面,当用户在页面发起请求时,就要进行整个页面的刷新,刷新快慢取决于服务器的处理快慢。在这个过程中用户必须得等待,不能进行其他操作。也就是同步的方式。客户端和服务端传递了很多不需要的数据。效率低,用户体验差。采用ajax的页面,可以实现页面的局部更新,而不是整个页面的更新;并且发起请求后,用户还可以进行页面上的其他操作。这就是异步的方式。客户端和服务端间只传递需要的数据,效率高,用户体验性好。
ajax 主要用在开发网站上,很明显的一个特点就是局部刷新,也就是说当你执行网页中的一小部分的时候其实是不用将整个网页提交上去的,只需要提交你改动的网页的局部信息。
扩展资料:
1、ajax 开发模式:
许多重要的技术和 Ajax 开发模式可以从现有的知识中获取。例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web 服务中包含了。同时,随着技术的成熟还会有许多地方需要改进,特别是UI部分的易用性。
Ajax 开发与传统的?B/S开发有很大的不同。这些不同引入了新的编程问题,最大的问题在于易用性。由于 Ajax 依赖浏览器的 JavaScript 和XML,浏览器的兼容性和支持的标准也变得和 JavaScript 的运行时性能一样重要了。这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。
综合各种变化的技术和强耦合的客户服务端环境,Ajax 提出了一种新的开发方式。Ajax 开发人员必须理解传统的?MVC?架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑 B/S 环境的外部和使用 Ajax 技术来重定型 MVC 边界。最重要的是,Ajax 开发人员必须禁止以页面集合的方式来考虑 Web 应用而需要将其认为是单个页面。一旦 UI 设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。
2、ajax 优点:
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。
Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能。
参考资料来源:百度百科 - ajax