有点儿明白怎么回事了吧?好,就是如此!4.??开发AJAX应用面临的问题是什么?如何解决的?对程序员而言,开发Ajax应用最头痛的问题莫过于以下几点:Ajax在本质上是一个浏览器端的技术,首先面临无可避免的第一个问题即是浏览器的兼容性问题。各家浏览器对于JavaScript/DOM/CSS的支持总有部分不太相同或是有Bug,甚至同一浏览器的各个版本间对于JavaScript/DOM/CSS的支持也有可能部分不一样。这导致程序员在写Ajax应用时花大部分的时间在调试浏览器的兼容性而非在应用程序本身。??Ajax技术之主要目的在于局部交换客户端及服务器之间的数据。如同传统之主从架构,无可避免的会有部分的业务逻辑会实现在客户端,或部分在客户端部分在服务器。由于业务逻辑可能分散在客户端及服务器,且以不同之程序语言实现,这导致Ajax应用程序极难维护。如有用户接口或业务逻辑之更动需求,再加上前一个JavaScript/DOM/CSS之兼容性问题,Ajax应用往往变成程序员的梦魇。
![]()
针对业务逻辑分散的问题,Ajax开发框架大致可分为两类:??将业务逻辑及表现层放在浏览器,数据层放在服务器:因为所有的程序以JavaScript执行在客户端,只有需要数据时才向服务器要求服务,此法又称为胖客户端(fat??client)架构。服务器在此架构下通常仅用于提供及储存数据。此法的好处在于程序员可以充分利用JavaScript搭配业务逻辑来做出特殊的用户接口,以符合终端用户的要求。但是问题也不少,主因在第一,JavaScript语言本身之能力可能不足以处理复杂的业务逻辑。第二,JavaScript的执行效能一向不好。第三,JavaScript访问服务器数据,仍需适当的服务器端程序之配合。第四,浏览器兼容性的问题又出现。有些Ajax开发框架如DWR企图以自动生成JavaScript之方式来避免兼容的问题,并开立通道使得JavaScript可以直接调用服务器端的Java程序来简化数据的访问。但是前述第一及第二两个问题仍然存在,程序员必须费相当的力气才能达到应用程序之规格要求,或可能根本无法达到要求。??
Мальчикидетпопескуичто-тоищет.男孩子在沙土上走着,寻找什么东西。
Околочасамышлитопкимболотом.(=потопкомуболоту)我们在泥泞的沼泽地里走了近一个小时。
对于使用POST,JSP的解决方法如下:使用escape(或encodeURI,两个函数都是JavaScript的函数,功能基本相同,可以查一下相关的帮助),但要使用两次,这个是关键。初始页面内容如下(hello.jsp):AJAX提交页面functionjustdo(){??????varpost="name=王力猛&email=wallimn@sohu.com&bokee=http://wallimn.bokee.com";??????post=encodeURI(post);??????post=encodeURI(post);??????//两次,很关键??????varxmlObj=newActiveXObject("Msxml2.XMLHTTP");??????varURL="act.jsp";??????//文件名需要调整成测试时的相应位置??????xmlObj.open("POST",URL,true);??????xmlObj.setRequestHeader("Cache-Control","no-cache");??????xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");??????xmlObj.send(post);??????//注意:POST方式,使用这个来发送内容}
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-57966-4.html
桃子加油
美狗的忠诚度确实高
尊敬