《请君入彀》爱情是什么么意思?

gdp_百度百科
&gdp 这是一个,请在下列中选择浏览(共5个义项)如果想提出功能问题或意见建议,请到;如果您要 举报侵权或违法信息,请到;其他问题请访问CN是什么意思?_百度知道
CN是什么意思?
CN : Credit Note
贷方通知书 CN : Core Network
核心网 CN : China
中国 CN : Corporate Network
公司联合网 cn : Chinese
中文 CN : consignment note
铁路运单 CN : Commonwealth Nations
英联邦国家 CN : Contract Number
合同号 CN : Control Network
控制网络 cn : cai niao
菜鸟 CN : Contract Negotiation(s)
合同的谈判(s)
采纳率100%
其他类似问题
按默认排序
其他11条回答
CN是首字母缩写 如果LZ是常看小说或者动漫的那么答案就是处女OR处男。或者等等CN开头的词汇 具体可以搜狗打上CN。你就知道了
CN : Credit Note
贷方通知书 CN : Core Network
核心网 CN : China
中国 CN : Corporate Network
公司联合网 cn : Chinese
中文 CN : consignment note
铁路运单 CN : Commonwealth Nations
英联邦国家 CN : Contract Number
合同号 CN : Control Network
控制网络 cn : cai niao
菜鸟 CN : Contract Negotiation(s)
合同的谈判
中国英文缩写排容的缩写国内域名十六烷值中国国家顶级域名coser name电视频道(CartoonNetwork)化学式:氰网络用语:“菜鸟”比喻很废网络用语:“处女”或“处男”移动网络术语:corenet元素“Cn”物理量:厘牛机场建设费简写:CN配位数
中国和中文 的意思。在网址上表明是中文网站。
coser name也就是coser的名字
COSPLAYER NAME
。。。。。。
处男,处女cosplay的人名
处女或处男
是中国的区域网络代码,和com一样
coser name
coser的名字
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁烽火戏诸侯是什么意思?_百度知道
烽火戏诸侯是什么意思?
提问者采纳
烽火戏诸侯,指西周时周幽王,为褒姒一笑,点燃了烽火台,戏弄了诸侯。褒姒看了果然哈哈大笑。幽王很高兴,因而又多次点燃烽火。后来诸侯们都不相信了,也就渐渐不来了。
我想听后果
最后真的有敌来袭,燃起了烽火,却没有诸侯们来救,周幽王被西戎杀了,褒姒被掳走,西周也亡国了
提问者评价
谢谢 还有什么好听的神话故事吗?最好是远古时代的
其他类似问题
烽火戏诸侯的相关知识
按默认排序
其他1条回答
简而言之:当老大的戏弄下面的手下。
能详细点吗 ?
等待您来回答
您可能关注的推广
下载知道APP
随时随地咨询
出门在外也不愁ajax_百度百科
?ajax开发???? 收藏 查看&ajax本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
AJAX即Asynchronous Javascript And XML异步JavaScript和XML是指一种创建交互式应用的网页开发技术AJAX = 异步 和的子集AJAX 是一种用于创建快速动态网页的技术通过在后台与服务器进行少量数据交换AJAX 可以使网页实现异步更新这意味着可以在不重新加载整个网页的情况下对网页的某部分进行更新传统的网页不使用 AJAX如果需要更新内容必须重载整个网页面
AJAX 指异步及AsynchronousJavascript+XML
国内翻译仅常为
和阿 贾克斯足球队同音这个术语源自描述从基于 Web 的应用到基于数据的应用的转换在基于数据的应用中用户需求的数据如联系人列表可以从独立于实际网页的服务端取得并且可以被动态地写入网页中给缓慢的Web应用体验着色使之像应用一样
Ajax 的核心是 JavaScript 对象 XmlHttpRequest该对象在 Internet Explorer 5 中首次引入它是一种支持异步请求的技术简而言之XmlHttpRequest 使您可以使用 JavaScript 向服务器提出请求并处理响应而不阻塞用户不是一种新的语言而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术
使用Javascript向服务器提出请求并处理响应而不阻塞用户核心对象XMLHTTPRequest通过这个对象您的 JavaScript 可在不重载页面的情况与服务器交换数据
AJAX 在浏览器与 Web 服务器之间使用异步数据传输HTTP 请求这样就可使网页从服务器请求少量的信息而不是整个页面
AJAX 可使因特网应用程序更小更快更友好
AJAX 是一种独立于 Web 服务器软件的浏览器技术 AJAX 基于下列 Web 标准
JavaScript在 AJAX 中使用的 Web 标准已被良好定义并被所有的主流浏览器支持AJAX 应用程序独立于浏览器和平台
Web 应用程序较桌面应用程序有诸多优势它们能够涉及广大的用户它们更易安装及维护也更易开发
不过因特网应用程序并不像传统的桌面应用程序那样完善且友好
通过 AJAX因特网应用程序可以变得更完善更友好该技术在1998年前后得到了应用允许客户端发送请求XMLHTTP的第一个组件由Outlook Web Access小组写成该组件原属于Exchange Server并且迅速地成为了Internet Explorer 4.0的一部分部分观察家认为Outlook Web Access是第一个应用了Ajax技术的成功的商业并成为包括Oddpost的网络邮件产品在内的许多产品的领头羊但是2005年初许多事件使得Ajax被大众所接受Google在它著名的交互应用程序中使用了异步通讯如Google地图Google搜索建议Gmail等Ajax这个词由Ajax: A New Approach to Web Applications一文所创该文的迅速流传提高了人们使用该项技术的意识另外对Mozilla/Gecko的支持使得该技术走向成熟变得更为易用
AJAX前景非常乐观可以提高系统性能优化用户界面AJAX现有直接框架AjaxPro可以引入AjaxPro.2.dll文件可以直接在前台页面JS调用页面的方法但此框架与FORM验证有冲突另外微软也引入了AJAX组件需要添加AjaxControlToolkit.dll文件可以在控件列表中出现相关控件许多重要的技术和AJAX开发模式可以从现有的知识中获取例如在一个发送请求到服务端的应用中必须包含请求顺序优先级超时响应错误处理及回调其中许多元素已经在中包含了同时随着技术的成熟还会有许多地方需要改进特别是UI部分的易用性
AJAX开发与传统的C/S开发有很大的不同这些不同引入了新的编程问题最大的问题在于易用性由于AJAX依赖的JavaScript和XML浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了这些问题中的大部分来源于浏览器和技术的组合因此必须理解如何才能最好的使用这些技术
综合各种变化的技术和强耦合的客户服务端环境AJAX提出了一种新的开发方式AJAX开发人员必须理解传统的MVC架构这限制了应用层次之间的边界同时开发人员还需要考虑C/S环境的外部和使用AJAX技术来重定型MVC边界最重要的是AJAX开发人员必须禁止以页面集合的方式来考虑应用而需要将其认为是单个页面一旦UI设计与服务架构之间的范围被严格区分开来后开发人员就需要更新和变化的技术集合了随着AJAX迅速地引人注目起来我想开发人员对这种技术的期待也迅速地增加就像任何新技术AJAX的兴旺也需要一整个开发工具/编程语言及相关技术系统来支撑JSer[1]是国人开发的一款全功能的开源脚本框架使用JSer可以极其方便的进行AJAX操作
以下代码演示了如何使用JSer发送一个异步的AJAX POST请求
JSer.url(&save.jsp&).set({
key:&test&,
name:&book&/*向save.jsp程序发送两个POST参数分别是key=test,name=book*/
}).ajax({//执行AJAX请求
method:'post',//POST方式发送请求
success:function(d){//AJAX请求成功时执行此回调函数
alert(d);//弹出返回提示
Web标准standards-based presentationXHTML+CSS的表示
使用Document Object Model进行动态显示及交互
使用 XML 和进行数据交换及相关操作
使用 XMLHttpRequest 进行异步数据查询检索
使用 JavaScript 将所有的东西绑定在一起参见Ajax的提出者Jesse James Garrett的原文,原文题目Ajax: A New Approach to Web Applications
类似于DHTML或LAMPAJAX不是指一种单一的技术而是有机地利用了一系列相关的技术事实上一些基于AJAX的派生/合成式derivative/composite的技术正在出现如AFLAX
AJAX的应用使用支持以上技术的web浏览器作为运行平台这些浏览器包括
及但是Opera不支持XSL格式也不支持XSLT
JavaScript
如名字所示AJAX的概念中最重要而最易被忽视的是它也是一种编程语言JavaScript是一种粘合剂使AJAX应用的各部分集成在一起在大部分时间JavaScript通常被服务端开发人员认为是一种企业级应用不需要使用的东西应该尽力避免这种观点来自以前编写JavaScript的经历繁杂而又易出错的语言类似的它也被认为将应用逻辑任意地散布在服务端和客户端中这使得问题很难被发现而且代码很难重用在AJAX中JavaScript主要被用来传递用户界面上的数据到服务端并返回结果XMLHttpRequest对象用来响应通过HTTP传递的数据一旦数据返回到客户端就可以立刻使用DOM将数据放到网面上
XMLHttpRequest
XMLHttpRequest对象在大部分浏览器上已经实现而且拥有一个简单的接口允许数据从客户端传递到服务端但并不会打断用户当前的操作使用XMLHttpRequest传送的数据可以是任何格式虽然从名字上建议是XML格式的数据
开发人员应该已经熟悉了许多其他XML相关的技术XPath可以访问XML文档中的数据但理解XML DOM是必须的类似的XSLT是最简单而快速的从XML数据生成下的子集HTML或XML的方式许多开发人员已经熟悉Xpath和XSLT因此AJAX选择XML作为数据交换格式是有意义的XSLT可以被用在客户端和服务端它能够减少大量的用JavaScript编写的
为了正确的浏览AJAX应用CSS是一种AJAX开发人员所需要的重要武器CSS提供了从内容中分离应用样式和设计的机制虽然CSS在AJAX应用中扮演至关重要的角色但它也是构建跨浏览器应用的一大阻碍因为不同的浏览器厂商支持各种不同的CSS级别
但不像在客户端在服务端AJAX应用还是使用建立在如Java,.Net和PHP语言基础上机制并没有改变这个领域中的主要方式
既然如此我们对Ruby on Rails框架的兴趣也就迅速增加了在一年多以前Ruby on Rails已经吸引了大量开发人员基于其强大功能来构建Web和AJAX应用虽然还有很多快速应用开发工具存在Ruby o n Rails看起来已经储备了简化构建AJAX应用的能力
调试与兼容调试问题
在实际构建AJAX应用中你需要的不只是既然JavaScript是非编译的它可以容易地编写和运行在浏览器中然而许多工具提供了有用的扩展如语法高亮和智能完成
不同的IDE提供了对JavaScript支持的不同等级来自JetBrains的IntelliJ IDEA是一个用来JavaScript开发的更好的IDE虽然许多开发人员也喜欢Microsofts Visual Studio产品允诺会在最新的版本中改善对AJAX的支持Eclipse包含了两个免费的JavaScript编辑器和一个商业的来自ActiveStat的Komodo IDE
另一个JavaScript和AJAX开发中的问题是调试困难不同的浏览器提供不同的通常是隐藏的运行时错误信息而JavaScript的缺陷如双重赋值通常是由于缺少数据类型使得调试更加困难在AJAX的开发中调试就更复杂了因为其需要标识究竟是客户端还是服务端产生的错误在过去JavaScript调试的方法是删除所有代码然后一行行的增加直到错误出现更多开发人员回到为IE准备的Microsoft Script Debugger和为Mozilla准备Venkman
浏览器兼容性
JavaScript编程的最大问题来自不同的浏览器对各种技术和标准的支持构建一个运行在不同浏览器如IE和是一个困难的任务因此几种AJAX JavaScript框架或者生成基于服务端逻辑或标记库的JavaScript或者提供符合跨浏览器AJAX开发的客户端JavaScript库一些流行的框架包括Jquery,Backbase,Bitkraft,Django,DOJO,DWR,MochiKit,Prototype,Rico,Sajax,Sarissa,and Script.
这些框架给开发人员更多的空间使得他们不需要担心跨浏览器的问题虽然这些框架提升了开发人员构建应用的能力但由于厂商已经开发了更细节的用户界面的打包组件解决方案因此在AJAX组件市场中需要考虑一些其他因素例如提供通用用户界面的组件如组合框和数据栅格的几个厂商都可以被用来在应用中创建良好的通过类似电子数据表方式来查看和编辑数据的体验但这些组件不仅是封装了组件的用户界面而且包括与服务端数据的通讯方式这些组件通常使用基于标记方式来实现如或JSF控件
将以下文本放入一个HTML页面即可看到效果将会有两次弹出提示最后在页面上显示YES表示完成
&SCRIPTLANGUAGE=&JavaScript&&
functionajaxByJyking(){
varxmlhttp_request=&&;
if(window.ActiveXObject){
for(vari=5;i;i--){
xmlhttp_request=newActiveXObject(&Microsoft.XMLHTTP&);
xmlhttp_request=newActiveXObject(&Msxml2.XMLHTTP.&+i+&.0&);
xmlhttp_request.setRequestHeader(&Content-Type&,&text/xml&);
xmlhttp_request.setRequestHeader(&Charset&,&gb2312&);
}catch(e){
xmlhttp_request=
elseif(window.XMLHttpRequest){
xmlhttp_request=newXMLHttpRequest();
if(xmlhttp_request.overrideMimeType){
xmlhttp_request.override.MimeType('text/xml');
}catch(e){
xmlhttp_request=
xmlhttp_request.open('GET','http://www.',true);
xmlhttp_request.send(null);
xmlhttp_request.onreadystatechange=function(){
if(xmlhttp_request.readyState==4){//收到完整的服务器响应
document.write(&yes&)
ajaxByJyking();
优点和缺点
传统的web应用允许用户填写(form当提交表单时就向web服务器发送一个请求服务器接收并处理传来的表单然后返回一个新的网页这个做法浪费了许多带宽因为在前後两个页面中的大部分HTML代码往往是相同的由于每次应用的交互都需要向服务器发送请求应用的响应时间就依赖于服务器的响应时间这导致了用户界面的响应比本地应用慢得多
与此不同AJAX应用可以仅向服务器发送并取回必需的数据它使用SOAP或其它一些基于XML的web service接口并在客户端采用JavaScript处理来自服务器的响应因此在服务器和浏览器之间交换的数据大量减少结果我们就能看到响应更快的应用同时很多的处理工作可以在发出请求的客户端机器上完成所以Web服务器的处理时间也减少了
使用Ajax的最大就是能在不更新整个页面的前提下维护数据这使得Web应用程序更为迅捷地回应用户动作并避免了在网络上发送那些没有改变过的信息
Ajax不需要任何浏览器但需要用户允许JavaScript在浏览器上执行就像DHTML应用程序那样Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试随着Ajax的成熟一些简化Ajax使用方法的也相继问世同样也出现了另一种辅助程序设计的技术为那些不支持JavaScript的用户提供替代功能
对应用Ajax最主要的批评就是它可能破坏浏览器后退按钮的正常行为在动态更新页面的情况下用户无法回到前一个页面状态这是因为浏览器仅能记下历史记录中的静态页面一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙用户通常都希望单击后退按钮就能够取消他们的前一次操作但是在Ajax应用程序中却无法这样做不过开发者已想出了种种办法来解决这个问题当中大多数都是在用户单击后退按钮访问历史记录时通过建立或使用一个隐藏的IFRAME来重现页面上的变更例如当用户在Google Maps中单击后退时它在一个隐藏的IFRAME中进行搜索然后将搜索结果反映到Ajax元素上以便将应用程序状态恢复到当时的状态
一个相关的观点认为使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中该问题的解决方案也已出现大部分都使用URL片断通常被称为锚点即URL中#后面的部分来保持跟踪允许用户回到指定的某个应用程序状态许多浏览器允许JavaScript动态更新锚点这使得Ajax应用程序能够在更新显示内容的同时更新锚点这些解决方案也同时解决了许多关于不支持后退按钮的争论
进行Ajax开发时网络延迟即用户发出请求到服务器发出响应之间的间隔需要慎重考虑不给予用户明确的回应 没有恰当的预读数据 或者对XMLHttpRequest的不恰当处理都会使用户感到延迟这是用户不愿看到的也是他们无法理解的通常的解决方案是使用一个可视化的组件来告诉用户系统正在进行后台操作并且正在读取数据和内容
一些手持设备如手机等还不能很好的支持A
用JavaScript作的Ajax引擎JavaScript的兼容性和DeBug都是让人头痛的事
Ajax的无刷新重载由于页面的变化没有刷新重载那么明显所以容易给用户带来困扰――用户不太清楚现在的数据是新的还是已经更新过的解决有在相关位置提示数据更新的区域设计得比较明显数据更新后给用户提示等
Ajax对流媒体的支持没有FLASHJava Applet好
基础应用创建XMLHttpRequest 方法
类首先由Internet Explorer以ActiveX对象引入被称为后来Mozilla﹑Netscape﹑Safari 和其他浏览器也提供了XMLHttpRequest类不过它们创建XMLHttpRequest类的方法不同
对于Internet Explorer浏览器
Internet 5.0-6.0:
xmlhttp_request=newActiveXObject(&Msxml2.XMLHTTP.3.0&);//3.0或4.0,5.0
xmlhttp_request=newActiveXObject(&Msxml2.XMLHTTP&);
xmlhttp_request=newActiveXObject(&Microsoft.XMLHTTP&);
Internet 7.0及以上:
xmlhttp_request = new XMLHttpRequest();
自动判断的代码:
if(window.XMLHttpRequest){//codeforIE7+,Firefox,Chrome,Opera,Safari
xmlhttp=newXMLHttpRequest();
}else{//codeforIE6,IE5
xmlhttp=newActiveXObject(&Microsoft.XMLHTTP&);
由于在不同Internet Explorer浏览器中XMLHTTP版本可能不一致为了更好的兼容不同版本的Internet Explorer浏览器因此我们需要根据不同版本的Internet Explorer浏览器来创建XMLHttpRequest类上面代码就是根据不同的Internet Explorer浏览器创建XMLHttpRequest类的方法
对于Mozilla﹑Netscape﹑Safari等浏览器
创建XMLHttpRequest 方法如下xmlhttp_request = new XMLHttpRequest();
如果服务器的响应没有XML mime-type header某些Mozilla浏览器可能无法正常工作为了解决这个问题如果服务器响应的header不是text/xml可以调用其它方法修改该header
xmlhttp_request=newXMLHttpRequest();
xmlhttp_request.overrideMimeType('text/xml');
在实际应用中为了兼容多种不同版本的浏览器一般将创建XMLHttpRequest类的方法写成如下形式
if(window.ActiveXObject){
for(vari=5;i;i--){
xmlhttp_request=newActiveXObject(&Microsoft.XMLHTTP&);
xmlhttp_request=newActiveXObject(&Msxml2.XMLHTTP.&+i+&.0&);
xmlhttp_request.setRequestHeader(&Content-Type&,&text/xml&);
xmlhttp_request.setRequestHeader(&Charset&,&gb2312&);
}catch(e){
xmlhttp_request=
}elseif(window.XMLHttpRequest){
xmlhttp_request=newXMLHttpRequest();
if(xmlhttp_request.overrideMimeType){
xmlhttp_request.overrideMimeType('text/xml');
}catch(e){
xmlhttp_request=
可以调用HTTP请求类的open和send方法如下所示
xmlhttp_request.open('GET',URL,true);
xmlhttp_request.send(null);
open的第一个参数是HTTP请求方式GETPOST或任何服务器所支持的您想调用的方式按照HTTP规范该参数要大写否则某些浏览器如Firefox可能无法处理请求
第二个参数是请求页面的URL
第三个参数设置请求是否为异步模式如果是TRUEJavaScript将继续执行而不等待服务器响应这就是&AJAX&中的&A&
服务器的响应
这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名如下所示
xmlhttp_request.onreadystatechange=FunctionN
FunctionName是用JavaScript创建的函数名注意不要写成FunctionName当然我们也可以直接将JavaScript代码创建在onreadystatechange之后例如
xmlhttp_request.onreadystatechange=function(){
//JavaScript代码段
首先要检查请求的状态只有当一个完整的服务器响应已经收到了函数才可以处理该响应XMLHttpRequest 提供了readyState属性来对服务器响应进行判断
readyState的取值如下
0 未初始化
1 正在装载
2 装载完毕
所以只有当readyState=4时一个完整的服务器响应已经收到了函数才可以处理该响应具体代码如下
if (http_request.readyState == 4) { // 收到完整的服务器响应 }else { // 没有收到完整的服务器响应 }
当readyState=4时一个完整的服务器响应已经收到了接着函数会检查HTTP服务器响应的状态值完整的状态取值可参见W3C文档当HTTP服务器响应的值为200时表示状态正常
处理从服务器得到的数据
有两种方式可以得到这些数据
(1) 以文本字符串的方式返回服务器的响应
(2) 以XMLDocument对象方式返回响应
应用程序架构应用程序框架
1.1 Bindows自从2003年
它通过强力联合DHTMLJavaScriptCSS和XML等技术能生成高度交互的应用程序-成为现代的的强有力对手Bindows应用程序不要求下载和也不需要在用户端安装-仅要求有一个浏览器也不需要JavaFlash或者ActiveXBindows有可能领导开发的AJAX应用程序的平台
1.2 BackBase自从2003年
是一个全面的浏览器端框架支持丰富的浏览器功能以及与.NET和Java的集成
·商业化来自于Backbase B.V总部在Amsterdam成立于2003年
1.3 Dojo自从2004年9月
提供全面窗口小组件和浏览器-服务器消息支持
·为创建定制的Javascript窗口小组件提供框架支持
1.4 Open Rico开发中自从2005年5月基于早期的私有框架
是一多用途框架支持Ajax基础结构和用户交互
1.5 qooxdoo开发中自从2005年5月
是另一个雄心勃勃的框架提供宽范围的UI支持和正在开发中的基础结构特性
1.6 Tibet开发中自从2005年6月
目的是提供高度可移植的和全面的Javascript API结果是可能自动生成大量的客户端代码自称是&企业级Ajax&
基础结构框架
2.1 AjaxCaller(自从2005年5月
是一基本的线程安全的XMLHttpRequest包装器主要针对Ajax新手仍处于原始的alpha开发阶段
2.2 Flash JavaScript集成包
允许JavaScript和Flash内容的集成
2.3 Google AJAXSLT发行于2005年6月
是一个Javascript框架用来执行XSLT转换以及XPath查询
2.4 HTMLHttpRequest(Beta版始于2005年
HtmlHttpRequest它使用了XMLHttpRequest和Iframes以改进兼容性
2.5 交互式网站框架自从2005年5月
交互式网站框架是一个项目目的是从浏览器端对Ajax基础结构的多方面予以支持自描述为&使用javascriptcssxml和html来创造高度交互网站的框架包括一个定制的针对高度可读的javascript的xml分析器实质上是建立基于AJAX的网站的基础还有另外一些通用脚本&
2.6 LibXMLHttpRequest发行于2003年6月
/connector?file=reference//libXmlRequest.html是XMLHttpRequest的一个瘦包装器
2.7 RSLite(x)
网站是http/rs/main.htm是一个针对XMLHttpRequest的瘦包装器
2.8 Sack在开发中自从2005年5月
网站是/2005/05/sack-of-ajax/是一个针对XMLHttpRequest的瘦包装器
2.9 Sarissa发行于2003年2月
网站是http是一种Javascript API它封装了在浏览器端可以独立调用XML的功能
2.10 XHConn发行于自从2005年4月
网站是/javascript/XHConn/是一个对XMLHttpRequest的瘦包装器
2.11 jQuery
简洁的思想几乎所有操作都是以选择DOM元素有强大的Selector开始然后是对其的操作Chaining等特性
服务器端多种语言
3.1 跨平台异步的接口(2005年5月
CPAINT是一真正的支持PHP和ASP/Vbscript的Ajax实现和JSRS(JavaScript远程脚本实现CPAINT提供给你需求的代码在后台实现AJAX和JSRS而返回的数据以JavaScript形式在前台操作格式化和显示这允许你创建能提供接近实时的反馈给用户的
3.2 SAJAX可用但是不是1.0版本自从2005年3月
网站是http:///sajax/直接把调用从Javascript发送到你的服务器端语言并再次回返
3.3 Javascipt对象标志JSON和JSON-RPC
JSON(http/index.html是一个&胖的自由的XML选择&而JSON-RPC(/是一种远程过程协议类似于强有力支持Javascript客户
3.4 Javascript远程脚本JSRS自从2000年
网址是http/直接把调用从Javascript发送到你的服务器端语言并再次回返
服务器端Java
4.1 WebORB for Java自从2005年8月
网址http://weborb/aboutWeborb.htm是一个平台支持开发AJAX和基于Flash的应用程序并可以把它们与Java对象和XML Web服务相系起来在线举例http)
4.2 Echo 2自从2005年3月
网址是http:///允许你用纯Java代码编写Ajax范例http://demo./ia
4.3 Direct Web Remoting (DWR)(2005年
网址是http/是一个框架用于直接从Javascript代码中调用Java方法
4.4 SWATO(2005年
网址是/是一套可重用的和良好集成的Java/JavaScript库它实现了一种更容易的方式来改变你的web应用程序的交互它是通过AJAX方式实现
服务器端Lisp
5.1 CL-Ajax
网址实现Javascript直接调用服务器端Lisp函数
服务器端.NET
6.1 WebORB自从2005年8月
网址/aboutWeborb.htm是一个平台用于开发AJAX和基于Flash的胖客户端应用程序并能把它们连接到.NET对象和XML Web服务在线举例http://))
6.2自从2005年3月)
网址是http/是一个库实现从Javascript到服务器端.NET的存取
服务器端PHP
7.1 AjaxAC自从2005年4月
网址是/用单个的PHP类封装了完整的应用程序
7.2 JPSpan
网址是http直接把Javascript调用传递到PHP函数
服务器端Ruby
Ruby On Rails/是一个通常的强力支持Ajax的web框架
实例展示XMLHttpRequest 对象
通过使用 XMLHttpRequest 对象web 开发者可以做到在页面已加载后从服务器更新页面
在 2005 年 AJAX 被 Google 推广开来Google Suggest
Google 建议使用 XMLHttpRequest 对象来创建一种动态性极强的 web 界面当您开始在 Google 的搜索框中输入查询时JavaScript 会向某个服务器发出这些字词然后服务器会返回一系列的搜索建议
XMLHttpRequest 对象得到下列浏览器的支持Internet Explorer 5.0+Safari 1.2Mozilla 1.0 / FirefoxOpera 8+ 以及 Netscape 7
AJAX Http 请求
Previous PageNext Page
AJAX 使用 Http 请求 在传统的 JavaScript 编程中假如您希望从服务器上的文件或数据库中得到任何的信息或者向服务器发送信息的话就必须利用一个 HTML 表单向服务器 GET 或 POST 数据而用户则需要单击提交按钮来发送/获取信息等待服务器的响应然后一张新的页面会加载结果
由于每当用户提交输入后服务器都会返回一张新的页面传统的 web 应用程序变得运行缓慢且越来越不友好
通过利用 AJAX您的 JavaScript 会通过 JavaScript 的XMLHttpRequest对象直接与服务器来通信
通过使用 HTTP 请求web 页可向服务器进行请求并得到来自服务器的响应而不加载页面用户可以停留在同一个页面他或她不会注意到脚本在后台请求过页面或向服务器发送过数据
您的第一个 AJAX 应用程序
为了让您理解 AJAX 的工作原理我们将创建一个小型的 AJAX 应用程序
首先我们需要一个带有两个文本框的 HTML 表单用户名和时间用户名文本框由用户填写而时间文本框使用 AJAX 进行填写
此 HTML 文件名为 &testAjax.htm&请注意这个 HTML 表单没有提交按钮
&formname=&myForm&&
用户&inputtype=&text&name=&username&/&
时间&inputtype=&text&name=&time&/&
我们将在下一节解释 AJAX 的基本原理
AJAX 浏览器支持
Previous PageNext Page
AJAX - 浏览器支持 AJAX 的要点是 XMLHttpRequest 对象
不同的浏览器创建 XMLHttpRequest 对象的方法是有差异的
IE 浏览器使用ActiveXObject而其他的浏览器使用名为XMLHttpRequest的 JavaScript 内建对象
如需针对不同的浏览器来创建此对象我们要使用一条 &try and catch& 语句您可以在我们的 JavaScript 教程中阅读更多有关try 和 catch 语句的内容
让我们用这段创建 XMLHttpRequest 对象的 JavaScript 来更新一下我们的 &testAjax.htm& 文件
&scripttype=&text/javascript&&
functionajaxFunction(){
try{//Firefox,Opera8.0+,Safari
xmlHttp=newXMLHttpRequest();
}catch(e){//InternetExplorer
xmlHttp=newActiveXObject(&Msxml2.XMLHTTP&);
}catch(e){
xmlHttp=newActiveXObject(&Microsoft.XMLHTTP&);
}catch(e){
alert(&您的浏览器不支持AJAX&);
&formname=&myForm&&
用户&inputtype=&text&name=&username&/&
时间&inputtype=&text&name=&time&/&
首先声明一个保存 XMLHttpRequest 对象的 xmlHttp 变量
然后使用 XMLHttp=new XMLHttpRequest() 来创建此对象这条语句针对 FirefoxOpera 以及 Safari 浏览器假如失败则尝试针对 Internet Explorer 6.0+ 的 xmlHttp=new ActiveXObject(&Msxml2.XMLHTTP&)假如也不成功则尝试针对 Internet Explorer 5.5+ 的 xmlHttp=new ActiveXObject(&Microsoft.XMLHTTP&)
假如这三种方法都不起作用那么这个用户所使用的浏览器已经太过时了他或她会看到一个声明此浏览器不支持 AJAX 的提示
注释上面这些浏览器定制的代码很长也很复杂不过每当您希望创建 XMLHttpRequest 对象时这些代码就能派上用场因此您可以在任何需要使用的时间拷贝粘贴这些代码上面这些代码兼容所有的主流浏览器Internet ExplorerOperaFirefox 以及 Safari
下一节为您展示如何使用 XMLHttpRequest 对象与服务器进行通信
AJAX - XMLHttpRequest 对象
Previous PageNext Page
AJAX - 更多有关 XMLHttpRequest 对象的知识
在向服务器发送数据之前我们有必要解释一下 XMLHttpRequest 对象的三个重要的属性
onreadystatechange 属性
onreadystatechange 属性存有处理服务器响应的函数下面的代码定义一个空的函数可同时对 onreadystatechange 属性进行设置
xmlHttp.onreadystatechange=function(){
//我们需要在这里写一些代码
readyState 属性
readyState 属性存有服务器响应的状态信息每当 readyState 改变时onreadystatechange 函数就会被执行
这是 readyState 属性可能的值
请求未初始化在调用 open() 之前
请求已提出调用 send() 之前
请求已发送这里通常可以从响应得到内容头部
请求处理中响应中通常有部分数据可用但是服务器还没有完成响应
请求已完成可以访问服务器响应并使用它
我们要向这个 onreadystatechange 函数添加一条 If 语句来测试我们的响应是否已完成意味着可获得数据
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
//从服务器的response获得数据
responseText 属性
可以通过 responseText 属性来取回由服务器返回的数据
在我们的代码中我们将把时间文本框的值设置为等于 responseText
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
document.myForm.time.value=xmlHttp.responseT
下一节我们会介绍如何向服务器请求数据
AJAX - 请求服务器
Previous PageNext Page
AJAX - 向服务器发送一个请求
要想把请求发送到服务器我们就需要使用 open() 方法和 send() 方法
open() 方法需要三个参数第一个参数定义发送请求所使用的方法GET 还是 POST第二个参数规定服务器端脚本的 URL第三个参数规定应当对请求进行异步地处理
send() 方法可将请求送往服务器如果我们假设 HTML 文件和 ASP 文件位于相同的目录那么代码是这样的
xmlHttp.open(&GET&,&time.asp&,true);xmlHttp.send(null);
我们必须决定何时执行 AJAX 函数当用户在用户名文本框中键入某些内容时我们会令函数在幕后执行
&scripttype=&text/javascript&&
functionajaxFunction(){
try{//Firefox,Opera8.0+,Safari
xmlHttp=newXMLHttpRequest();
}catch(e){//InternetExplorer
xmlHttp=newActiveXObject(&Msxml2.XMLHTTP&);
}catch(e){
xmlHttp=newActiveXObject(&Microsoft.XMLHTTP&);
}catch(e){
alert(&您的浏览器不支持AJAX&);
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
document.myForm.time.value=xmlHttp.responseT
xmlHttp.open(&GET&,&time.asp&,true);
xmlHttp.send(null);
&formname=&myForm&&
用户&inputtype=&text&name=&username&onkeyup=&ajaxFunction();&/&
时间&inputtype=&text&name=&time&/&
下一节介绍 &time.asp& 的脚本这样我们完整的 AJAX 应用程序就搞定了
AJAX -服务器端的脚本
Previous PageNext Page
AJAX - 服务器端的脚本
现在我们要创建可显示当前服务器时间的脚本
responseText 属性会存储从服务器返回的数据在这里我们希望传回当前的时间
这是 &time.asp& 的代码
&% response.expires=-1;response.write(time)%&
注释Expires 属性可设置在页面缓存失效前页面被缓存的时间分钟Response.Expires=-1 指示页面不会被缓存
运行您的 AJAX 应用程序
请在下面的文本框中键入一些文本然后单击时间文本框
时间文本框可在不加载页面的情况下从 &time.asp& 获得服务器的时间
问题及对策浏览器兼容性问题
Ajax在本质上是一个浏览器端的技术首先面临无可避免的第一个问题即是浏览器的兼容性问题各家浏览器对于JavaScript/DOM/CSS的支持总有部分不太相同或是有Bug甚至同一浏览器的各个版本间对于JavaScript/DOM/CSS的支持也有可能部分不一样这导致程序员在写Ajax应用时花大部分的时间在调试浏览器的兼容性而非在应用程序本身因此目大部分的Ajax链接库或开发框架大多以js链接库的形式存在以定义更高阶的JavaScript API JavaScript对象模板或者JavaScript Widgets来解决此问题如
业务逻辑分散
Ajax技术之主要目的在于局部交换客户端及服务器之间的数据如同传统之主从架构无可避免的会有部分的会实现在客户端或部分在客户端部分在服务器由于业务逻辑可能分散在客户端及服务器且以不同之语言实现这导致Ajax应用程序极难维护如有用户接口或业务逻辑之更动需求再加上前一个JavaScript/DOM/CSS之兼容性问题Ajax应用往往变成程序员的梦魇针对业务逻辑分散的问题Ajax开发框架大致可分为两类
[1]将业务逻辑及表现层放在浏览器数据层放在服务器因为所有的程序以JavaScript执行在客户端只有需要数据时才向服务器要求服务此法又称为胖客户端fat client架构服务器在此架构下通常仅用于提供及储存数据此法的好处在于程序员可以充分利用JavaScript搭配业务逻辑来做出特殊的用户接口以符合终端用户的要求但是问题也不少主因在第一JavaScript语言本身之能力可能不足以处理复杂的业务逻辑第二JavaScript的执行效能一向不好第三JavaScript访问服务器数据仍需适当的服务器端程序之配合第四浏览器兼容性的问题又出现有些Ajax开发框架如DWR企图以自动生成JavaScript之方式来避免兼容的问题并开立通道使得JavaScript可以直接调用服务器端的Java程序来简化数据的访问但是前述第一及第二两个问题仍然存在程序员必须费相当的力气才能达到应用程序之规格要求或可能根本无法达到要求
[2]将表现层业务逻辑及数据层放在服务器浏览器仅有用户接口引擎User Interface engine此法又称为thin client架构或中心服务器server-centric架构浏览器的用户接口引擎仅用于反映服务器的表现层以及传达用户的输入回到服务器的表现层由浏览器所触发之事件亦送回服务器处理根据业务逻辑来更新表现层然后反映回浏览器因为所有应用程序完全在服务器执行数据及表现层皆可直接访问程序员只需使用服务器端相对较成熟之程序语言如即可不需再/DOM/CSS在开发应用程序时相对容易缺点在于用户接口引擎以及表现层通常以标准组件的形式存在如需要特殊组件用户接口时往往须待原框架之开发者提供缓不济急如开源码Ajax开发框架ZK支持及组件尚无XAML之支持多进程或多线程的竞争问题
Ajax是以异步的方式向提交需求对服务器而言其与传统的提交需求并无不同而且由于是以异步之方式提交如果同时有多个Ajax需求及窗体提交需求将无法保证哪一个需求先获得服务器的响应这会造成应用程序典型的多进程process或多线程thread的竞争racing问题程序员因此必须自行处理或在JavaScript里面动手脚以避免这类竞争问题的发生如Ajax需求未响应之前先disable送出按钮这又不必要的增加了程序员的负担已知有自动处理此问题之开发框架似乎只有ZK
AJAX中文传值乱码问题解决方法
在浏览器端对要传递的中文参数进行编码处理.代码如下:
xmlhttp.open(&POST&,&AjaxServlet&,true);//请求参数初始化
xmlhttp.setRequestHeader(&Content-Type&,&application/x-www-form-urlencoded&);
xmlhttp.send(&str=&+encodeURI(encodeURI(&安安DIY创作室&)));//
向服务器端发送参数
在服务器端代码:
PrintWriterout=response.getWriter();//得到response的输出流对象
Stringstr=request.getParameter(&str&);//得到页面上名字为str的参数
Stringstr2=URLDecoder.decode(str,&utf-8&);//对得到的参数进行解码
System.out.print(str);//向浏览器端发送数据
新手上路我有疑问投诉建议参考资料 查看}

我要回帖

更多关于 hold是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信