如果要问做什么事是最有吸引力,那就是创建Web应用。毕竟,上次你听到有人称赞某产品的交互设计是什么时候的事了?(除了iPod之外) 它们都很cool, 而且都是很创新的项目。
抛开这些不管,Web设计者们对设计交互式的Web没有什么更好的办法,却对我们做桌面软件的同事投去少许羡慕的目光.桌面应用程序有丰富的界面以及对于Web程序来说无法比拟的响应能力。同样,Web的快速发展,在我们所提供的体验和用户从桌面应用程序所得到的体验间产生巨大的差距
而如今差距正在消失。请看看“Google建议(Google Suggest)”. 观察它按你的输入显示建议条目的更新速度,几乎是立即更新的。再看看''Google Maps''. 放大,用你的鼠标搬动和滚动。这些动作几乎是立即响应的,不用等待页面刷新。
''Google Suggest''和''Google Maps'' 是采用Ajax技术的两个典型例子。Ajax是Asynchronous JavaScript and XML的简称,它表现出一个Web开发上的根本转变,那就是,Web上可能做些..
[] []
var xmlhttp;
xmlhttp = new ActiveXObject(''Msxml2.XMLHTTP.4.0'');
xmlhttp.onreadystatechange = doHttpReadyStateChange;
xmlhttp.open(''GET'', ''http://localhost/sample.xml'', true);
xmlhttp.send();
function doHttpReadyStateChange() {
if (xmlhttp.readyState == 2) {
xmlhttp.abort();
}
}
[] []
最近在做一个项目,遇到AJAX中文乱码问题,经过一个下午的努力终于完美解决,现将心得写下来,希望对那些还困绕在这个问题而头痛不已的人们有所帮助。
众所周知,使用AJAX传送和接收中文参数时,如果不在客户端和服务器做相应的处理就会出现乱码问题,在网上相应的文章也不少,但是有的情况下很难从中找到符合自己理想的答案,我今天就是在网上找了很多,但是都差不多,讲ASP和JSP的比较多(我是用的PHP),所以到最后都没找到自己满意的答案。
AJAX的中文乱码可以大概分为两中,第一种是向服务器端发送中文参数时(xmlhttp.open(“get|post”,url,true)),服务器端接收到的为乱码,这个也是我今天遇到的问题,没做处理之前,在IE里是正常的,但是在Firefox里面就出现了乱码,我先把接收到参数输出到一个文本里,没有发现什么问题,郁闷了,然后我就把查询语句在输出来观察(我这里是要从数据库里查出与参数相关的东西),终于发现问题,IE和Firefox输出..
[] []
在看本文之前,建议查看本人的系列文章:《AjaxPro与服务器端交互过程中如何传值》:http://blog.csdn.net/zhoufoxcn/archive/2008/01/05/2026908.aspx 《用AjaxPro实现二级联动》:http://blog.csdn.net/zhoufoxcn/archive/2008/01/07/2029204.aspx ,以便对AjaxPro有个初步印象。
说明:在Web开发中,有时候需要经常更新某一部分内容,如果不采用Ajax技术,就需要使用传统的html技术,在<head></head>区域加以下代码:<meta http-equiv=''Refresh'' content=''10''> (假设每10秒更新一次),这样做的缺点是每次更新的时候整个页面都刷新了带来很多不必要的流量,也影响效率。微软的Ajax.Net类库也提供了相应的控件,使用微软提供的控件开发效率高,但是经常会出现“***不是已知元素 原因可能是网站中存在编译错误 ”的提示,另外有些控件虽然在执行的时候不占用显示空间,但是在设计视图的时候却占用显示空间,让人心情不爽,所以我还..
[] []
遇到问题:在使用xhr发出请求时,请求的url中参数带中文,这时在后台解析request得不到中文如:request = new ActiveXObject(''Microsoft.XMLHTTP'');request.open(''GET'', url);中我的url需要带中文参数直接加参数是在后台解析不出来的,所以我使用方法对url进行编码转换
在页面中中文参数传递前先转码:function enCode(chineseStr) { return escape(chineseStr,'utf-8'); }
用经过转马后的字符串去生成 url
然后就要在后台进行解码了以为没法直接从request中取到编码字符串,所以使用方法先取出url,然后再取出url的参数进行解码取出url,以及取参数方法
String XXX= getUrlParameter(unescape(request.getQueryString()),''XXX'');
//如此获得的XXX即为解码后的正确的中文
public String getUrlParameter(String str,String targetstr){ String stringarray = str.split(''&'') ; for..
[] []
业务逻辑:文本框实现自动完成 引入prototype.js包
页面:autoComplete.jsp
<%@ page contentType=''text/html; charset=GBK'' %><html><head><title>Ajax自动完成</title><!--定义样式--><style type=''text/css''>.mouseOut{ background:#708090; color:#FFFAFA;}
.mouseOver{ background:#FFFAFA; color:#000000;}</style><script src=''prototype.js''></script><script type=''text/javascript''> var xmlHttp; var completeDiv; var inputField; var nameTable; var nameTableBody;
//创建XMLHttpRequest对象 function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject(''Microsoft.XMLHTTP''); } else if (wi..
[] []
虽然这个要求很奇怪,但是也是有典型性的,比如说我们datagrid的分页想用第x页来表示或者翻页的时候来提示,解决办法:private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){if(e.Item.ItemType==ListItemType.Pager){foreach(Control c in e.Item.Controls[0].Controls){if(c.GetType().ToString()==''System.Web.UI.WebControls.DataGridLinkButton''){LinkButton lb=(LinkButton)c;lb.Attributes.Add(''onclick'',''return confirm('really?');'');}}} }当然你页可以写lb.Text=''第''+lb.Text+''页'';
[] []
如何解决 SQL Server 2000 中的连接问题适用于 重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 256986 Microsoft Windows 注册表说明
本任务的内容概要 解决连接问题 验证 DNS 设置 验证启用的协议和别名 验证 SQL Server 实例正在正确地侦听 解决 MDAC 问题 解决防火墙问题 解决身份验证和安全问题 解决 TCP/IP 套接字上的压力问题 查看 SQL Server 实例是否以单用户模式启动 验证到 SQL Server 的命名管道连接 解决在恢复过程中连接超时的问题 测试连接到 SQL Server 实例的不同方法 捕捉网络监视器踪迹参考概要本文能帮助您解决 Microsoft SQL Server 2000 的连接问题。本文描述了常见连接问题和所能采取的有助于解决连接问题的步骤。 SQL Server 2000 支持 SQL Server ..
[] []
我在程序中定义了一个助手类CASSISTANT,并将它实例化为一个对象acc,调用了其中的Fun_ShowRenWu()方法,该方法返回的是CString类对象变量,单步调试返回变量正常,debug下解决了上篇帖子的内存泄露以后,没有任何问题,但是我在release下,程序在退出时出现内存不能为“read”请情况,导致错误,具体程序如下:
CASSISTANT acc; CString ss; ss=acc.Fun_ShowRenWu();
我使用的是ExitProcess(0);退出方式
每次release方式关闭程序,都是出错,然后我尝试吧 ss=“无”;结果就没有问题了,而使用我的返回值就出现问题了,真实奇怪。
我土壤想到我返回的CString类型变量有点长,并且同样类型的变量特别做,想到是不是vc60对CString类管理有问题,结果上网一查,果然是有个小bug。
那怎么办?问题出在退出上,显然就是我的退出有问题,结果将退出改为CDialog::OnOK();就真的ok了。
但只这有个确定,网上有人说OnOK();没有真正释放dlg的资源,使用这..
[] []
数据库中事务(transaction)的主要目的是让数据库从一个稳定的状态变化到另一个稳定的状态。当数据库中进行提交时,应该保证所有的变化都已经保存了;如果进行回滚,那么所有的变化都不保存。
在jdbc中,事务的启动是有jdbc驱动自动完成的,而事务的终止则可以是自动也可以是手动。事务自动终止还是手动终止是由连接的自动提交状态来判断的,对于jdbc,默认的自动提交状态是true,也就是说事务由驱动自动提交,何时终止依赖于执行哪种sql命令,如下表
语句类型 事务提交时间insert,update,delete executeUpdate()或execute()返回时
select Result对象中所有行都读取完毕,或用一个Statement对象在同一个连接上执行新的sql命令
在实际的项目应用中,数据库几乎都是多用户应用或者一个任务要访问多个表,因此需要我们手动来管理事务。Connection类提供的管理事务的方法如下:*void setAutoCommit(boolean);设置自动提交为true(默认为自动提交事务)或..
[] []
学习 [征服Ajax——Web 2.0快速入门与项目实践(.net)] 一书并将其示例在Asp.net 2.0中做了一遍.
(一) . 运行效果如下:
(二). 代码
1. 页面 *.aspx 前台代码如下:
1<body> 2 <form id=''form1'' runat=''server''> 3 <script type=''text/javascript''> 4 var cbo = new CallBackObject(); 5 cbo.OnComplete=Cbo_Complete; 6 cbo.OnError=Cbo_Error; 7 function CheckUserName(UserName) 8 { 9 var msg = document.getElementById('lblMessage');10 if( UserName.length > 0 )11 { 12 cbo.DoCallBack('tbUsername',''); 13 }14 else15 { 16 cbo.AbortCallBack();17 ..
[] []
学习 [征服Ajax——Web 2.0快速入门与项目实践(.net)] 一书并将其示例在Asp.net 2.0中做了一遍.
(一). 运行效果如下:
(二). AjaxPro.NET简介
AjaxPro.NET是一个优秀的Ajax框架, 在实际应用中只要添加其DLL引用并进行简单的配置,
即可以非常方便的在客户端直接调用服务端方法, 实现验证目的.
(三).使用AjaxPro.NET预配置
1. 添加 AjaxPro.dll 文件的引用(示例代码中已经包含,直接COPY过来使用即可).
2. 在Web.config文件中添加以下配置,
1 <httpHandlers>2 <add verb=''POST,GET'' path=''ajaxpro/*.ashx'' type=''AjaxPro.AjaxHandlerFactory, AjaxPro'' /> 3 </httpHandlers>
3. 在要使用AjaxPro.NET框架的页面 *.aspx.cs 的 Page_Load事件中加如下代码:
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
4. 经..
[] []
下面利用ashx文件可以方便实现从数据库中读取图片并显示在datagrid当中1.BindImage.aspx<%@ Page language=''c#'' Codebehind=''BindImage.aspx.cs'' AutoEventWireup=''false'' Inherits=''ShowImage.BindImg'' %><HTML> <HEAD> <title>BindImg</title> </HEAD> <body> <form id=''Form1'' method=''post'' runat=''server''> <FONT face=''宋体''> <asp:DataGrid id=''MyDataGrid'' runat=''server'' AutoGenerateColumns=''False'' Width=''632px''> <AlternatingItemStyle BackColor=''Beige''></AlternatingItemStyle> <HeaderStyle HorizontalAlign=''Center''></HeaderStyle> <Columns> <asp:TemplateColumn HeaderText=''Photo''> <ItemTemplate> <img src='<%# ''GetImage.ashx?ID=''+DataBind..
[] []
具体的应用有两种方法:
1、 先定义好CSS ,再在页面中需要的对象上使用预先定义好的CSS,实际上CSS的设置对话框里已经预先将这些滤镜的语法设置好了,我们只需填上适合的具体参数即可:
2、直接在支持CSS滤镜效果的HTML控件元素上编写CSS filter代码。
a.Alpha 滤镜
''Alpha''属性是把一个目标元素与背景混合。设计者可以指定数值来控制混合的程度。这种“与背景混合”通俗地说就是一个元素的透明度。通过指定坐标,可以指定各种不同范围的透明度。Alpha 滤镜语法 {FILTER:ALPHA(opacity=opacity,finishopacity=finishopacity,style=style,startx=startx,starty=starty,finishx=finishx,finishy=finishy)}
filter:filtername(parameters) 即 filter:滤镜名称(参数)
滤镜效果
功能描述
Alpha
设置不同的透明度变化效果
Blur
建立模糊效果
DropShadow
建立一种偏移的影象轮廓,即投射阴影
FlipH
水平翻转
FlipV
垂..
[] []
这个学期我学习是神经网络课程,有很多的知识国内都不是很完善,而国外就有很大的进步,下面就是来自一本<AI for Game>的电子版英文书.其中我就拿用面向对象写的C++类进行说明怎样编写神经网络程序.神经网络的基本思想就是怎样去改变权值.神经网络层类class NeuralNetworkLayer{public: int NumberOfNodes; int NumberOfChildNodes; int NumberOfParentNodes; double** Weights; double** WeightChanges; double* NeuronValues; double* DesiredValues; double* Errors; double* BiasWeights; double* BiasValues; double LearningRate; bool LinearOutput; bool UseMomentum; double MomentumFactor; NeuralNetworkLayer..
[] []
难度:3前期准备:对app.config, web.config文件中配置数据库连接有一定了解。
结论VS2003:string connStr=System.Configuration.ConfigurationSettings.AppSettings[''SQLCONNECTIONSTRING''];VS2005:string connStr=System.Configuration.ConfigurationManager.ConnectionStrings[''SQLCONNECTIONSTRING''].ToString();必须添加引用system.configuration.dll
定义ConfigurationSettings 提供运行时对读取配置节和公共配置设置的支持。 ConfigurationManager 提供对客户端应用程序配置文件的访问。无法继承此类。
ConfigurationSettings.AppSettings 属性 获取配置文件应用程序设置节的只读 NameValueCollection。 (已过时)[ObsoleteAttribute(''This method is obsolete, it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings'')]
命名空间:System.Configuration程序集:System(在 system...
[] []
今年三月份,用VB,C#各写一份用手机+电脑+数据线发送短信的程式!感觉还行。 以下的功能单一,只能单发,或群发。只是初始的版本。朋友们可以看看其中的 一些技巧,如怎么将进值转换,中文转换,字符移位处理。用MSCOMM怎么发送和接收 数据,怎么延时等! using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Threading; namespace SendSMS { /// /// Form1 的摘要说明。 /// public class FrmMain : System.Windows.Forms.Form { #region 控件的初始化===================================================== private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.ComboBox cboBox2; private System.Windows.Forms.ComboBox cboBox1; ..
[] []
网络大本营
在PHP4.2以后的版本中register_global默认为off若想取得从另一页面提交的变量:方法一:在PHP.ini中找到register_global,并把它设置为on.方法二:在接收网页最前面放上这个extract($_POST);extract($_GET);(注意extract($_SESSION)前必须要有Session_Start()).方法三:一个一个读取变量$a=$_GET[''a''];$b=$_POST[''b'']等,这种方法虽然麻烦,但比较安全.
PHP代码:
<?PHPOb_Start();Session_Start();Echo ''<pre>'';Echo ''本页得到的_GET变量有:'';Print_R($_GET);Echo ''本页得到的_POST变量有:'';Print_R($_POST);Echo ''本页得到的_COOKIE变量有:'';Print_R($_COOKIE);Echo ''本页得到的_SESSION变量有:'';Print_R($_SESSION);Echo ''</pre>'';?>
为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失
PHP代码:--------------------------------------------------------------------------------
&..
[] []
Response.Write(''客户端的操作系统:'' + Request.Browser.Platform + ''<br>''); // WinNT Response.Write(''客户端用的浏览器:'' + Request.Browser.Browser + ''<br>''); // IE Response.Write(''客户端浏览器的版本:'' + Request.Browser.Version + ''<br>''); // 6.0 Response.Write(''客户端FrameWork的版本:'' + Request.Browser.ClrVersion.ToString()+''<br>''); // 2.0.50727 Response.Write(''客户端浏览器是否有后退按钮:'' + Request.Browser.HasBackButton.ToString()+''<br>''); // True Response.Write(''判断客户端浏览器类型:'' + Request.Browser.IsBrowser(''IE'').ToString () + ''<br>''); // True (大小写没..
[] []
主要用vb脚本,采用四次循环,嵌套着javascript,勉强实现了功能,但是提示“运行此脚本,会使你的计算机变得很慢”
一共包括三个文件,shu.asp——显示页面,dtree.js——定义的函数,dtree.css——样式表
shu.asp
——————————————————————————————————————————————
<!DOCTYPE html PUBLIC ''-//W3C//DTD XHTML 1.0 Strict//EN'' ''http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd''>
<html>
<head> <title>Tree</title>
<link rel=''StyleSheet'' href=''dtree.css'' type=''text/css'' /> <script type=''text/javascript'' src=''dtree.js''></script>
</head>
<body>
<hr />
<% dim conn,connstr,sql,rs,rs1,rs2,rs3,shu,i,j,k,l connstr=''db1.mdb'' connstr=''Provider = Microsoft.Jet.OLEDB.4.0;Data Source =..
[] []
工作两年来发现公司所有的C/C++项目在进行系统设计的时候,仍然将内存管理的设计放到很低的一个层次上:那个模块分配内存、那个模块释放内存、什么时候释放……。但是这样做效果并不好,最终仍然是深深的陷入到内存维护的泥潭之中。
从网上查了一下有关C/C++内存管理方面的知识,总结得到解决方案,但是还没有实践,不知是否可行。
C++的内存管理方法:我的解决方法是,设计统一的Allocator接口,每个模块设计之初就应该选择正确的Allocator。这个Allocator关注的是选择什么分配策略的内存池。接下来一步,是要使用boost库中的shared_ptr。应该将所有的指针都转为使用shared_ptr,这样就可以防止使用无效内存,免去内存管理的烦恼。需要注意的是,shared_ptr不能删除它所维护的指针,但是我认为应该添加这一功能。
C的内存管理方法:设计一个内存分配和释放的通用接口,每个模块的内存分配和释放都使用这个接口,在模块初始化时实例..
[] []
网络大本营
在ajax应用中,通常一个页面要同时发送多个请求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就会把前面的覆盖掉,如果每次都创建一个新的XMLHttpRequest对象,也会造成浪费。解决的办法就是创建一个XMLHttpRequset的对象池,如果池里有空闲的对象,则使用此对象,否则将创建一个新的对象。
下面是我最近写的一个简单的类:
/** * XMLHttpRequest Object Pool * * @author legend <legendsky@hotmail.com> * @link http://www.ugia.cn/?p=85 * @Copyright www.ugia.cn */
var XMLHttp = { _objPool: ,
_getInstance: function () { for (var i = 0; i < this._objPool.length; i ++) { if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4) { return this._objPool[i]; } }
// IE5中不..
[] []
预处理
概述 在前面各章中,已多次使用过以“#”号开头的预处理命令。如包含命令# include,宏定义命令# define等。在源程序中这些命令都放在函数之外, 而且一般都放在源文件的前面,它们称为预处理部分。
所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能, 它由预处理程序负责完成。当对一个源文件进行编译时, 系统将自动引用预处理程序对源程序中的预处理部分作处理, 处理完毕自动进入对源程序的编译。
C语言提供了多种预处理功能,如宏定义、文件包含、 条件编译等。合理地使用预处理功能编写的程序便于阅读、修改、 移植和调试,也有利于模块化程序设计。本章介绍常用的几种预处理功能。
宏定义 在C语言源程序中允许用一个标识符来表示一个字符串, 称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的..
[] []
在.Net 平台下,创建一个ASP.Net的程序 1、引用两个NAMESPACE using System.Text //因为用了Encoding类 using System.Net //因为用了WebClient 类 2、整个程序用了三个控件 txtUrl //输入你要获取的网页地址 TEXTBOX控件 txtBody //得到你要获取的网页内容 TEXTBOX控件 btnReturn //按钮BUTTON控件 3、在***.aspx.cs下的代码 private void btnReturn_Click(object sender, System.EventArgs e) { string url=txtUrl.Text.Trim(); //获取输入的网页地址
WebClient wb=new WebClient(); //创建一个WebClient实例 //获取或设置用于对向 Internet 资源的请求进行身份验证的网络凭据。(可有可无) //wb.Credentials=CredentialCache.DefaultCredentials; //从资源下载数据并返回字节数组。(加@是因为网址中间有''/''符号) byte pagedata=wb.DownloadData(@url); //转换字符..
[] []
来自
号称要超越Slashdot 的 digg.com 是一个典型的Ajax应用。它的首页使用了prototype框架和scriptaculous扩展。有好事者统计了加载digg.com的首页时总共下载JavaScript和CSS文件的字节数,发现不算上图片,光Html+JS+CSS就有250多k,于是提出了Digg: Javascript overload?的疑问。 Zimbra 针对这个问题,给出了一些优化的方法:AJAX and CSS Optimization,要点如下:
将多个js或者CSS文件整合成一个文件以减少HTTP连接数,使用类似jsmin的工具移除注释、空白以及多余的空行等以减少网络传输的数据量,在web服务端应用gzip compression 压缩 Zimbra 使用以上方式优化后,测试发现减少了50%以上的带宽。
在我们现在和将来的Ajax开发中一定也会遭遇类似digg.com的性能问题。Zimbra的解决方案可供参考。关于HTTP Compression,我觉得是优化Ajax最为关键的部分。我们可以应用web server默认提供的机制,比如Tomcat5.x在Connector 配置中提供的压缩..
[] []
function IPDeCode(EIP){ var Ip1,Ip2,Ip3,Ip4; Ip1 = moveByteR(EIP & 0xff000000,3); Ip2 = moveByteR(EIP & 0x00ff0000,2); Ip3 = moveByteR(EIP & 0x0000ff00,1); Ip4 = EIP & 0x000000ff; return Ip1 + . + Ip2 + . + Ip3 + . + Ip4; } function moveByteL(num,bytenum){ return num function moveByteR(num,bytenum){ return num >>>= (bytenum*8) } 在vbs中没有位操作,这样在一个页面中用到了js和vbs,并不好,如果用vbs也可以,不过罗嗦了一些,而且有一点注意,如果在vbs中split(202.102.29.6,,),会得到202,102,29三个数,得不到最后一个6,所以需要将ip换成split(202.102.29.6 & .,,)我用vbs做的,由于没有位操作,所以做得比较麻烦4 thenexit functionend ifdim a,b,ia = &Hfor i = 0 to 3b = Hex(iptemp(i))if len(b) = 1 thenb = 0&bend ifa = a&bnextip2int = CLng(a)end functi..
[] []
在自动换行设置的时候,要在EDIT控件的属性中选中"multiline''的属性和Auto_HScroll、Vertical scroll。.
经过多次测试,总结出VC编辑框(EDIT)的自动换行与自动滚屏的方法。方法一:(当EDIT映射到一CString时) m_String = m_String + sNewString + ''\r\n'' //自动换行(其中m_String是EDIT筐所关联的CString对象) UpdateData(false);此法只能做到自动换行,不会自动滚屏到最后一行。方法二:(当EDIT映射到一EDIT时)m_Edit.SetSel(-1, -1); //自动滚屏(其中m_Edit是EDIT筐所关联的EDIT控制对象) m_Edit.ReplaceSel(sNewString+''\r\n''); //自动换行此法可以做到自动换行,并自动滚屏到最后一行。以上,m_String、m_Edit.分别为给编辑框添加的成员变量;sNewString 为要显示的字符串
方法三:到200行时将所有内容清空
int iLineNum=m_EditLog.GetLineCount(); if(iLineNum<=200) { m_EditLog.SetSel(-1, -1); m_..
[] []
本示例主要演示如何操作XMLHttpRequest..... XMLHttpRequest 简介 要真正实现这种绚丽的奇迹,必须非常熟悉一个 JavaScript 对象,即 XMLHttpRequest。这个小小的对象实际上已经在几种浏览器中存在一段时间了,它是本专栏今后几个月中要介绍的 Web 2.0、Ajax 和大部分其他内容的核心。为了让您快速地大体了解它,下面给出将要用于该对象的很少的几个 方法和属性。 open():建立到服务器的新请求。 send():向服务器发送请求。 abort():退出当前请求。 readyState:提供当前 HTML 的就绪状态。 responseText:服务器返回的请求响应文本。 客户端HTML代码: [复制此代码]CODE:<script language=''javascript'' type=''text/javascript''> var xmlHttp = false; try { xmlHttp = new XMLHttpRequest(); } catch (trymicrosoft) { try { xmlHttp = new ActiveXObject(''Msxml2.XMLHTTP''); } catch (othermicrosoft) ..
[] []
产生原因主要有2个原因1 xtmlhttp 返回的数据默认的字符编码是utf-8,如果前台页面是gb2312或者其它编码数据就会产生乱码2 post方法提交数据默认的字符编码是utf-8,如果后台是gb2312或其他编码数据就会产生乱码解决方法进一步整理中推荐方法,前台后台都用utf-8编码,这样可以省不少麻烦,从根本上解决了乱码问题.优点是效率高,而且符合目前的形式,utf-8编码本身就是一种比较优秀的编码,没有语言限制.缺点只能调用自己的后台编码或者其他的utf-8的编码.前台更改为
程序代码
<meta http-equiv=''Content-Type'' content=''text/html; charset=utf-8''>
后台asp中第一行加入如下代码
程序代码
<%@LANGUAGE=''JAVASCRIPT'' CODEPAGE=''65001''%><% Response.Charset=''utf-8''; %><% Session.CodePage=65001; %>
后台如果有html代码也需保证
程序代码
<meta http-equiv=''Content-Type'' content=''text/html; charset=utf-..
[] []
最近听说了AJAX技术的问世,让用B/S开发的应用程序有了新的用户观感 (好奇!)!于是特地去了新华书店看了看这方面的书,虽然2005刚刚提出的一个新词汇----AJAX,但这方面的书还挺多,这就是IT,总是迅雷不及眼耳!这就是IT人,总要不断的学习!看了看这方面的书,感觉真的不错,于是,回来就在自己的机子上搞了一个小小的例子,与有兴趣者分享一下!
不扯那么远了,Ajax定义为“Asynchronous JavaScript + XML”的简称,也就是异步的JavaScript和XML处理。从原理上看,主要是Ajax可以通过调用HttpRequest实现与服务器的异步通讯,并最终在网页中实现丰富友好的用户界面.不错,异步通讯--关键之所在!当然对JavaScript也应有一定的功底!我个人认为它是程序设计中的一个经典之处!
由于Ajax技术是在客户端(浏览器)与服务器之间加了一个称之为AJAX引擎的功能,才得以实现异步!所以它需要引用一个叫Ajax.dll的文件,可以去网上将它下载下来.然后把Ajax.dll copy到应用系统..
[] []
[] [] [] [] [] [] []
[] [] [] [] []
版权所有 2006-2008 保留所有权利 湘ICP备06008262号