全面剖析XMLHttpRequest对象

全面剖析XMLHttpRequest对象时间:2008-12-18 21:09:06来源:网络 作者:未知 点击:65次
  XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础。尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用;但是,我们仍然很有必要理解这个对象的详细工作机制。

  一、 引言

  异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程。这一技术的优点在于,它向开发者提供了一种从Web服务器检索数据而不必把用户当前正在观察的页面回馈给服务器。与现代浏览器的通过存取浏览器DOM结构的编程代码(JavaScript)动态地改变被显示内容的支持相配合,AJAX让开发者在浏览器端更新被显示的HTML内容而不必刷新页面。换句话说,AJAX可以使基于浏览器的应用程序更具交互性而且更类似传统型桌面应用程序。

  Google的Gmail和Outlook Express就是两个使用AJAX技术的我们所熟悉的例子。而且,AJAX可以用于任何客户端脚本语言中,这包括JavaScript,Jscript和VBScript。

为AJAX应用程序构建一个错误提交系统

摘要 当一些应用程序崩溃时,它们往往向用户提供一个机会来提交关于该错误的信息。该信息能够帮助开发者追踪并修正错误。本文将向你展示如何在你的JavaScript/AJAX应用程序中实现这样的功能。

  一、 引言

  如果可以存取终端用户的计算机的话,那么终端用户的JavaScript错误就很容易调试。既然你不能实现这样的操作,那么你可以采取下面这样的措施:让用户向你发送你修正该问题需要的内容。

  当象Mozilla浏览器这样的应用程序崩溃时,它们会启动一个错误提交程序。这些程序将询问用户是否愿意提交错误报告。如果用户愿意的话,该程序将要求他们输入有关他们的程序崩溃时的尽可能多的信息。这个信息,连同该错误提交程序自己的分析数据,一同提交到电子邮件中心以便开发人员和工程经理读取分析。

  这种功能对于开发者是极其有用的。既然该程序运行于客户端机器上,这是唯一取得有关于开发者不能在他们自己的开发系统上重新生成相同的错误信息的方式。他们还能够监视该特定的错误的频率和严重性以便决定应该首先修正哪些错误。

  本文将向你展示如何在JavaScript/AJAX程序中支持这种错误提交功能。当在你的代码中发生一个错误时,该系统将弹出一个用户能够提交错误信息的窗口。

  二、 问题

通过PHP和Sajax使用Ajax之JavaScript

多年以来,创建真正具有响应性的 Web 应用程序这一目标一直被 Web 开发的一个简单事实所阻碍:要改变页面某一部分的信息,用户就必须重载整个页面。但是以后不再会这样了。感谢异步 Java? 脚本和 XML(Ajax),我们现在可以从服务器端请求新内容,只修改页面的一部分。这个教程解释了如何把 Ajax 用于 PHP ,并介绍了简单 Ajax 工具包(Sajax),这是一个用 PHP 编写的工具,可以把服务器端 PHP 与 JavaScript 集成。

  开始之前

  这份教程针对的是对于开发富 Web 应用程序感兴趣的人,富 Web 应用程序把异步 JavaScript 和 XML(Ajax)与 PHP 结合起来,用户每次点击时,不必刷新整个页面,就可以动态更新内容。这份教程假设读者了解基本的 PHP 概念,包括 if 和 switch 语句以及函数的使用。

  关于本教程

  在本教程中,将学习 Ajax 以及围绕它的应用的问题。将用 PHP 构建一个 Ajax 应用程序,显示以前写的一个教程中的面板。点击面板链接只会重新载入内容区,并用选定面板的内容替换它,从而节约了带宽和页面装入的时间。然后将把简单 Ajax 工具包(Sajax)集成进 Ajax 应用程序,它可以同步 Ajax 的使用,从而简化开发。

  概述

在ASP.NET中使用AJAX的简单方法

据我所知,这项技术最初是由Microsoft在1999年提出来的,也就是我们所熟知的"使用远程调用(remote calls)的DHTML / JavaScript web应用程序"。这项技术的核心就是通过浏览器发出一个异步的HTTP请求来调用服务端的网页或服务,在返回结果后,无需刷新就可以更新整个网页。这项技术经过不断地完善,到目前为此,使用AJAX的web程序从表现上看已经非常类似于Windows程序了。

  由于这项技术的实现需要依赖于前端的浏览器,因此,它的使用受到了限制。但在最近的几年,由于浏览器功能的加强和一些公司,如Google、Amazon.com的许多基于AJAX的应用的不俗表现,终于使这项技术凤凰涅磐、欲火重生。

  现在AJAX的使用已经非常广泛,任何带有丰富用户体验的动态网页都会不约而同地使用AJAX。

  解决方案

  本文所描述的使用AJAX的方法非常简单,而且效率很高。同时这种方法还非常容易维护,并且开发人员无需任何的特殊技巧就可以实现它,而且使用这种方法还可以跨浏览器。

关于MagicAjax的用法

最近,用了一下MagicAjax 觉得不错,使用很简单,经验终结如下:

1、打开vs 添加 MagicAjax.dll,就会有AjaxPanel 控件,就往上拖东西吧。(简单吧!)
2、打开web.config 添加:

...

...

以上两步就可以实现Ajax了,是不是很简单。如果你觉得loading....很难看,接着来。

wpf 托盘实例

25.2.6 不需要互操作性的Windows窗体类

正如您所了解的,Windows窗体控件和WPF元素的继承层次不同。如果没有互操作功能,这些控件就不能被用于WPF窗口。然而,有一些Windows窗体组件没有这一限制。通过提供对必需的程序集(通常是System.Windows.Forms.dll)的引用,可以随意使用这些类型。

例如,可以直接使用对话框类(如ColorDialog类、FontDialog类、PageSetupDialog类等)。实际上,这不是非常有用,因为这些对话框有些过时,并且它们封装的结构是Windows窗体的一部分,而不是WPF的一部分。例如,如果使用ColorDialog类,将会得到一个System.Drawing.Color对象,而不是真正希望的System.Windows.Media.Color对象。当使用FontDialog类、PageSetupDialog类和PrintPreviewDialog类时情况相同,这些类用于处理以前的Windows窗体打印模型。实际上,唯一一个可以随意使用的Windows窗体对话框是FolderBrowserDialog,并且在Microsoft.Windows名称空间中没有一个等价的WPF控件,使用该对话框可以快速选择一个文件夹。

C#异步编程模式IAsyncResult浅析

C#异步编程模式IAsyncResult是什么呢?我们需要明白C#异步编程模式IAsyncResult什么方面呢?那么本文就向你介绍相关的内容。

C#异步编程模式IAsyncResult概述

IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 BeginRead 和 EndRead 方法来从文件异步读取字节,它们是 Read 方法的异步版本

Begin 方法包含同步方法签名中的任何参数,此外还包含另外两个参数:一个AsyncCallback 委托和一个用户定义的状态对象。委托用来调用回调方法,状态对象是用来向回调方法传递状态信息。该方法返回一个实现 IAsyncResult 接口的对象

End 方法用于结束异步操作并返回结果,因此包含同步方法签名中的 ref 和 out 参数,返回值类型也与同步方法相同。该方法还包括一个 IAsyncResult 参数,用于获取异步操作是否完成的信息,当然在使用时就必须传入对应的 Begin 方法返回的对象实例

C# Socket异步通讯实现详解

C# Socket异步通讯是如何实现的呢?C# Socket异步通讯客户端设计的思路是什么呢?那么本文就向你介绍具体的内容。

C# Socket异步通讯客户端实现源码

C# Socket异步通讯客户端之主程序:

C#异步通信概念及应用浅析

C#异步通信概念及应用主要向你介绍了C#异步通信的实现方法和操作的具体的实现方法,希望对你理解和学习C#异步通信有所帮助。

C#异步通信概念及应用的认识首先让我们来看看:在网络编程中运用Socket,常常需要长期监听某个端口,以获得Socket连接,进而执行相关操作。

但此时,主线程就会被阻塞,无法做其他事情。为了解决这类问题,Socket类中提供了一些支持异步操作的方法,如表17-10所示。

下表为Socket类中支持异步操作的方法

方 法
说 明

BeginAccept()
开始一个异步请求,以创建一个新的Socket对象来接受传入的连接请求

EndAccept()
结束一个异步请求,以创建一个新的Socket对象来接受传入的连接请求

BeginConnect()
开始一个对远程主机的异步请求

EndConnect()
结束一个对远程主机的异步请求

BeginDisconnect()
开始异步请求从远程主机断开连接

EndDisconnect()
结束从远程主机断开连接的异步请求

BeginReceive()
开始从连接的Socket中异步接收数据

EndReceive()
结束从连接的Socket中异步接收数据

5分钟教会五笔! 不用背口决了

原创思路总结]只需记住下面3点:
1:知道五笔是什么:一丨丿丶乙 (横竖撇捺折)
2:知道这五个笔划在键盘上的分布特点:认出字根的第一、二笔划就定出位置
(如图红色笔画示区:中行左边5个键是"一"区,右边5个键是"丨"区
上行左边5个键是"丿"区,右边5个键是"丶"区,第5个键在下行最右边
下行左边5个健是"乙"区)
(如图蓝色笔画示位:以中间黄线为界,从中间向两旁走,分别为“一丨丿丶乙”5个位)

3:字根的分布原则:(发明人就是按这个思路来安置那么多的字根的)

a:每个字根的第一笔定区,第二笔定位(70%的字根符合这个原则,所以看第一笔就知道在哪个区的5个键之中,看第二笔就定位在这5个键中的哪个了!不信?可以将上面字根分布图中的所有字根按这个原则试一遍,把特殊的圈出来看看,不多吧,只有下面的25%+5%,再去掉有特殊记忆方法的,仅需记忆的只有寥寥几个而已!)
b:有特殊记忆方法的字根(25%的字根):如"口"因为发音为"K"所以在"K"
c:只能强记的字根(仅5%):如"木丁西"在"S" 3:字根的分布原则:(发明人就是按这个思路来安置那么多的字根的)
好!实战一下:
1:“王”这个字根的第一笔是“一”,第二笔是“一”,所以“横中横”,在中行左边横区5个键中的从中间往外数的横位上(第1个键,G键)

Syndicate content