Ajax的优缺点

JavaScript016

Ajax的优缺点,第1张

1、优点:

(1)能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。

(2)Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。

2、缺点:

(1)它可能破坏浏览器的后退与加入收藏书签功能。

在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的可能差别非常微妙;用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。

扩展资料:

Ajax 是一种独立于 Web 服务器软件的浏览器技术。 Ajax 基于下列 Web 标准:

JavaScript、XML、HTML与 CSS 在 Ajax 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。Ajax 应用程序独立于浏览器和平台。

Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。通过 Ajax,因特网应用程序可以变得更完善,更友好。

一,最原始的方式来运用ajax var xmlHttpfunction createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")}else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest()} } //定义了一个ajax的入口函数,供用view层用户调用 function show_type(type_id) { // alert(id)createXMLHttpRequest()var url = "../ajax/shop_type_status.php?id="+type_id+"&time="+Math.random()xmlHttp.open("GET", url, true)xmlHttp.onreadystatechange = function(){ show_back()} xmlHttp.send(null)} //回调函数,将从调用的php文件中取得的数据,反还给用户 function show_back() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //document.getElementById('cat_id').value = iddocument.getElementById('type_status').innerHTML = xmlHttp.responseText} } } 个人分析:这种方法挺好的,简单灵活,但是有一点不好,就是冗余代码比较多,不利于后期维护。二,js端封装的ajaxrequest这个东西,对于习惯了用javascript的人来说,是一个不错的选择,它是装上面所说的那种方法简单的封装了一下,做了统一的调用。感觉不错,代码挺多的就不贴出来了,大家可以到google搜ajaxrequest。//ajaxrequest.js里面有一个这个方法这个方法是供view端调用的接口,接口可以有多个,根据情况自己加function ajax_action_fun(url,fun) { var ajax=new AJAXRequestajax.get( url, function(obj){alert(obj.responseText)fun()} )} //html里面调用这个接口 get_shop_son_list //是回调后执行的方法名 ajax_action_fun("../ajax/shop_ajax.php?type=1",get_shop_list)function get_shop_list(resValue){ //这里就是你要的操作 }个人分析:它弥补了第一种方法的不足,统一调用接口,可以设置回调函数,缺点如果有的话,不在ajaxrequest本身而在于javascript,举个例子吧javascript:如果我想调用ajax_action_fun这个方法我要在html里加个东西显示店jquery:用它可以尽量把js和html分开,这对于后期维护是很帮助的,会节省很多时间,例如,全站换html;$(".showshop").bind("click", {url: "../ajax/shop_ajax.php?type=1",function:get_shop_list}, ajax_action_fun)这样就可以不用在html里面写onclick事件了三,jquery的ajax1)$.ajax({ type: "POST", url: "test.php", //调用的php文件 data: "name=zhang", success: function(msg){ �0�2�0�2�0�2�0�2�0�2�0�2//回调函数 alert( "Data Saved: " + msg )�0�2�0�2�0�2 //这里是操作 } })2)//调用test.php文件,传个参数,data是返回的数据 $.post("test.php", { name: "zhang"}, function(data){ alert("Data Loaded: " + data)})现在我基本上用jquery了,哈哈。 转载请注明作者:海底苍鹰

CSS是用来写按钮的一些样式,但是无法做到事件,交互

Js 用来写和用户的交互 也就是点击

ajax 在数据库取值,实现页面无刷新读取数据,

形成即时点击显示当前顶的数