ajax是干什么用的?跟c#什么关系?

如题所述

AJAX是一种技术框架,它是基于JavaScript语言,核心技术是通过httpxml对象异步传输实现于服务器交换数据。如果楼主不太懂上面我说的。AJAX一个最大的好处就是可以使网页交换数据后不刷新。楼主上论坛的时候,看帖子翻页的时候是不是IE先“白”一下,再出下页内容?利用AJAX可以不刷新页面(就是上面说讲的“白”一下),直接出来下页内容!当然他还有其他好处!
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-02-22
AJAX和c#没关系,只是一种技术架构

你可以用AJAX带来更好的WEB用户体验
第2个回答  2008-02-22
楼上正解,只是一种技术构架,与C#没有直接联系
第3个回答  2008-02-22
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。

主要包含了以下几种技术

Ajax(Asynchronous JavaScript + XML)的定义
基于web标准(standards-based presentation)XHTML+CSS的表示;
使用 DOM(Document Object Model)进行动态显示及交互;
使用 XML 和 XSLT 进行数据交换及相关操作;
使用 XMLHttpRequest 进行异步数据查询、检索;
使用 JavaScript 将所有的东西绑定在一起。英文参见Ajax的提出者Jesse James Garrett的原文。
类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。

AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象,也不支持XSLT。

与传统的web应用比较

传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。

与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。

Ajax应用程序的优势在于:
1. 通过异步模式,提升了用户体验
2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

发展史
该技术在1998年前后得到了应用。允许客户端脚本发送HTTP请求(XMLHTTP)的第一个组件由Outlook Web Access小组写成。该组件原属于微软Exchange Server,并且迅速地成为了Internet Explorer 4.0[3]的一部分。部分观察家认为,Outlook Web Access是第一个应用了Ajax技术的成功的商业应用程序,并成为包括Oddpost的网络邮件产品在内的许多产品的领头羊。但是,2005年初,许多事件使得Ajax被大众所接受。Google在它著名的交互应用程序中使用了异步通讯,如Google讨论组、Google地图、Google搜索建议、Gmail等。Ajax这个词由《Ajax: A New Approach to Web Applications》一文所创,该文的迅速流传提高了人们使用该项技术的意识。另外,对Mozilla/Gecko的支持使得该技术走向成熟,变得更为易用。

优点和缺点
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能。
对应用Ajax最主要的批评就是,它可能破坏浏览器后退按钮的正常行为[4]。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙;用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。不过开发者已想出了种种办法来解决这个问题,当中大多数都是在用户单击后退按钮访问历史记录时,通过建立或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。)
一个相关的观点认为,使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中。该问题的解决方案也已出现,大部分都使用URL片断标识符(通常被称为锚点,即URL中#后面的部分)来保持跟踪,允许用户回到指定的某个应用程序状态。(许多浏览器允许JavaScript动态更新锚点,这使得Ajax应用程序能够在更新显示内容的同时更新锚点。)这些解决方案也同时解决了许多关于不支持后退按钮的争论。
进行Ajax开发时,网络延迟——即用户发出请求到服务器发出响应之间的间隔——需要慎重考虑。不给予用户明确的回应 [5],没有恰当的预读数据 [6],或者对XMLHttpRequest的不恰当处理[7],都会使用户感到延迟,这是用户不欲看到的,也是他们无法理解的[8]。通常的解决方案是,使用一个可视化的组件来告诉用户系统正在进行后台操作并且正在读取数据和内容。
一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax;
用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事;
Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰――用户不太清楚现在的数据是新的还是已经更新过的;现有的解决有:在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等;
对串流媒体的支持没有FLASH、Java Applet好;

Ajax的工作原理

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。

在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。下面是使用Ajax可以完成的功能:

动态更新购物车的物品总数,无需用户单击Update并等待服务器重新发送整个页面。

提升站点的性能,这是通过减少从服务器下载的数据量而实现的。例如,在某购物车页面,当更新篮子中的一项物品的数量时,会重新载入整个页面,这必须下载整个页面的数据。如果使用Ajax计算新的总量,服务器只会返回新的总量值,因此所需的带宽仅为原来的百分之一。 消除了每次用户输入时的页面刷新。例如,在Ajax中,如果用户在分页列表上单击Next,则服务器数据只刷新列表而不是整个页面。
直接编辑表格数据,而不是要求用户导航到新的页面来编辑数据。对于Ajax,当用户单击Edit时,可以将静态表格刷新为内容可编辑的表格。用户单击Done之后,就可以发出一个Ajax请求来更新服务器,并刷新表格,使其包含静态、只读的数据。

一切皆有可能!但愿它能够激发您开始开发自己的基于Ajax的站点。然而,在开始之前,让我们介绍一个现有的Web站点,它遵循传统的提交/等待/重新显示的范例,我们还将讨论Ajax如何提升用户体验。

Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。本回答被提问者采纳

C# 三层架构下,用ajax判断用户名是否重复
在C#三层架构下,利用Ajax判断用户名是否重复时,首先要对文本框绑定一个onblur事件。在页面加载完成后,当用户将光标移出文本框时,触发onblur事件。使用jQuery库可以帮助我们更方便地实现这一功能。在事件处理中,通过jQuery的.ajax()函数发送请求至后台处理数据的server地址。这里推荐使用扩展名为.ashx的...

万网服务器用ajax
Ajax指的是一种异步调用Javascript做HTTP请求的技术,不是一种产品,没有安装不安装一说,只要空间能被访问,换句话说就是支持HTTP,那么就都支持Ajax,无论是.NET空间,还是PHP空间,还是纯静态空间。可见那个客服也什么都不懂。你说“把ajax放到bin目录下边”指的具体是什么? 微软的.net Ajax framew...

用c#编写的网上书店系统可以用到ajax技术吗
好多都可以的 只是解决了用户的体验效果而已.

在C#中 Main括号里面的String[] agrs有什么用啊,为什么又可以写,又...
接收不定长度的 参数。当你不需要给main 函数传递任何参数的时候可以不写。

Ajax技术与JavaScript,JSP,XML,Javaservlet等有什么区别和联系?
JSP 是一种技术,是SERVLET 的进化版,以前java做页面就是用输出流一句一句的输出,很麻烦,有了jsp以后就简化了java的bs模式的开发。XML全程是可扩展标记语言,是用来存储数据的,数据包括配置文件数据,跟数据库类似数据等等。xml最大的优势就是编程语言无关,也就是说不管java,c#,vb等都可以读取xml...

ashx是做什么用的?
.ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。其实就是带HTML和C#的混合文件。.ashx文件适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片、动态文本等内容。一般应用较多的是AJAX请求的响应文件,图片的输出,...

.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
.ashx是“一般处理文件”。和aspx类似。但是这种文件要比aspx这种前台页面文件内容简单轻巧。.ashx不提供前台展示的功能。也可以说它结合了.cs类文件而且又可以提供给.aspx文件做UI层的互动。一般ajax这种无刷新或者其它异步操作可以用到。 例如很多网站里面统计功能,数据未完全加载完之前 页面上面会有一个...

asp.net上的Microsoft AJAX Library 3.5是做是么用的
AJAX 是异步 JavaScript 和 XML 的缩写,暗示着 AJAX 和 JavaScript 之间有着必然的联系。尽管 JavaScript 是简单的编程语言,但它早在多年前就已经打下了坚实的基础,虽然当时人们认为对网页而言面向对象的编程是多余的,而且动态语言的原则也太过理论化,无法在已广泛使用的编程语言中完全实现。因此,...

怎么我的C#后台返回不了json格式给页面,jquery ajax 回调函数始终不执行...
ajax用在asp.net中一般就用webservice和 .ashx来传递页面值,但是两者有区别:后者你直接在ashx中设置contentype为Json就可以回传Json数据,但是webservice貌似就不行 需要序列化 等等一系列操作才能传回Json,而且ajax的写法也很重要 contentType: "application\/json; charset=utf-8",dataType: "json", ...

ASP.NET C# AJAX 异步处理数据的问题
1.这个问题和ajax关系不大。你要是觉得和ajax有关系,你可以自己写ajax代码异步发起请求。2.你的测试不能只看运行周期。需要关注服务器端接受请求时间、暂停时间、返回时间。3.影响返回时间的有IE,请求周期,IIS队列,IIS处理。4.解决ajax返回非异步的现象。我是通过在服务器端启用多线程处理,使得页面...

相似回答