|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的几个月之前,一个同事到我这里来,说他有一个客户端JavaScript的成绩。我不能不向他注释说,举动服务器页面(ASP)的区段变量不克不及从客户端会见,除非它们经由过程cookie大概埋没的输出框被传送。可是我没有中断持续寻觅从客户端会见ASP区段变量更好办法的事情。
比来在研讨怎样不必要上传和下载页面就可以够从服务器猎取信息时,我读到了关于XMLHTTPActiveX工具的内容。从实质上讲,这个工具为InternetExplorer和Web服务器通信并吸收回应供应了一种办法。它是MSXML静态加载库的一部分,其以后的版本是第4版,并能从微软收费下载。一样值得主要的是,注重关于微软InternetExplorer5.x,MSXML缺省的版本仍是第2版。
XMLHTTP基本
你可使用XMLHTTP工具在服务器上实行一个ASP,守候服务器的回应,然后依据回应来举措。这意味着有了一个JavaScript函数和一个公用的静态服务器页面,就有大概办理从客户端会见变量的成绩。客户端必要区段变量的值吗?没成绩!你要做的全体事情就是挪用一个小小的函数。
完成XMLHTTP工具
只需入手下手试实在现之前没有实验过的观点或特征,我一般会发明把成绩分化成逻辑件会更简单一些。在这类情形下,我从服务器真个和客户真个入手下手。内心有这个观点,我定名为test.asp的服务器端举动服务器页面看起来就是这个样的了:
<%@Language=VBScript%>
<%
Response.Write
Session(Request.QueryString("variable"))
%>
这个服务器端代码段的目标是前往任何和查询字符串里同键相干联的ASP区段变量的值。
因为哀求是从客户端倡议的,并且有一个工具正在被利用,以是客户端这一部分会更具体。创立XMLHTTP工具、设置工具的属性、挪用工具的发送办法,和依据工具前往的信息举行举措,这些都是有需要的。ListingA是实行这些义务的JavaScript。
要进一步反省XMLHTTP的大概性,就有需要往回走一步,这是由于使用URL把查询信息从客户端送到服务器端是有范围性的。URL最年夜长度限制为2,048字节。这2KB的最年夜长度还包含了URL的非查询字符串这部分。要更进一步就要找到一种更好的办法,把信息从客户端送到服务器端。
我只花了约莫20分钟就决意好了怎样把信息从客户端传送到服务器端。我决意利用HTTP。在你断定我头脑发懵但已回过神之前,让我来注释一下。我要在HTTP报头里传送信息。经由过程包头来传送信息就可以够制止利用URL传送信息所没法制止的2,048字节的限定。
内心有了这些,如今就必要修正经由过程URL传送信息的例子了。在客户端不是要把参数增加到test.asp的URL里,而是XMLHTTP工具的setHeader办法会传送这个参数。举行如许的修正就发生了ListingB里的客户端程序。
在服务器端,有需要从HTTP报头里而不是哀求工具的查询字符串里取回区段变量名。其了局是:
<%@Language=VBScript%>
<%
Response.WriteSession(Request.ServerVariables("HTTP_test"))
%>
更进一步
我在这里所形貌的工具叫做XMLHTTP。注重这个工具的头3个字母是XML。你已见过了怎样在客户端和服务器端传送信息,可是XMLHTTP工具的初志是同意信息作为XML在客户端和服务器端传送信息。在今后的文章里,我会注释怎样利用XML的复杂工具会见协定(SOAP)来互换加倍庞大的信息。
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|