AJAX简述

NVIDIA DRIVE SDK学习(二)——NvMedia 可以通过使用NvSciBuf API通过NvMedia Tensor属性分配NvSciBuf来创建NvMedia张量。由于NvSciBuf API有助于NvMedia和NVIDIA®CUDA®之间的数据共享,这使得分配的张量可以在NvSciBuf API允许的情况下重复使用。它支持图像聚合操作。NvSciSync组件使得NvMedia组件可以与其他组件保持同步,比如CUDA组件、基于NvSciSync的组件等。立体视差模式:在这种模式下,该模块通过左图像和右图像来产生立体视差,从而进行物体深度测量。 阅读详情
    上篇文章说了半天还没提到AJAX的全称,AJAX=Aysynchonized Javascript and XML(异步Javascript和XML)。什么意思?可能许多人看了全称还摸不着头脑。这里首先我要指出的是AJAX本身绝对不是一指一个新的技术,AJAX所用到的html,css,javascript,xml等这些技术都已经是存在了许多年的非常成熟的技术,而AJAX的实质实际上是一个新的方法论(methodology,我的理解是关于客户端开发的方法轮,更进一步讲甚至可以说是Web2.0所带来的全新的web开发的方法论)。
       相信许多做过web开发的人对于浏览器端的感觉和我一样,事实上浏览器是个相当笨的东西,只能解释按一定规则(比如html)写的内容。而所谓的和服务器端交互,也只不过是把90%以上的逻辑运算和数据处理交给服务器,然后由服务器生成新的响应页面传会给客户端这样的request/response模式。换句话说,浏览器的唯一任务是解释,不是运算和数据处理。当然脚本语言的出现使得情况有所变化,客户端可以处理一些简单得逻辑,但是在传统得开发模式下,与服务器得交互和客户得请求是以同步得方式进行的。也就是说在客户橡服务器提交了请求之后客户必须等待页面的刷新以查看处理的结果,而刷新的过程是往往需要1秒以上,网络情况不好或者服务器负担过重的话甚至需要数秒中。这本身是一个非常糟糕的客户体验,但是人们似乎已经习惯这样的客户体验,甚至由于这种传统的同步方式,人们认为实质上网页就是静态的,橡新浪这样的充斥链接的门户网站,只不过是在静态的页面之间进行切换罢了(当然了,事实并非如此)。这时候AJAX来了,当gmail,google map出现的时候,人们发觉这个世界开始改变了,原来网页(对客户来说他只知道网页)也可以橡我机器里的小程序一样。
       对于程序员说,这简直是不可思议,始终无法把web开发和swt,swing,mfc这样的客户端开发放在一起谈论的原因就在于后者有一个异步的消息机制在驱动。对于C/S架构的客户端,处理客户的请求是异步的,如果按一个按钮要等上几秒钟才能反应,而期间又不可以点其他的按钮,这样的程序恐怕是永远卖不出去的,但是程序员认为这件事情发生在web客户端身上是在正常不过的了。好了,现在AJAX来了。当你拖动google map中的地图,等待地图的内容更新时,你还可以在搜索框中输入东西,这似乎时匪夷所思的,但这就是AJAX给你的。
       但AJAX究竟做了什么呢?事实上现代浏览器支持一种叫XMLHttpRequest 的对象,这种对象能够在后台(也就是异步)向服务器发送一个请求,并开启一个线程等待请求,并做出相应的处理。这就是AJAX带给我们的全部(早在AJAX以前,html支持一种叫IFrame的标签也能做和XMLHttpRequest,现在有种趋势就是把IFrame也规在了AJAX这个名称的范围之内)。当然了,这所有的一切必须依赖于诸如javascript这样的脚本语言,下面给出一个简单的例子:
var xmlHttp;      
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
function main {

createXMLHttpRequest();
var url = "ToolTipServlet?key=" + escape(element.id);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}
function callback() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
//do something...}
}
 
createXMLHttpRequest的作用是生成XMLHttpRequest也许你会觉得好像复杂了点,没办法,这就是微软的垄断所带给开发人员的麻烦,对于ie来说它的XMLHttpRequest对象实际上是一个ActiveObject,而橡Firefox(这是我本人最喜欢的浏览器,原因在于它和Eclipse一样,遵循插件即一切的原则)这样的大多数浏览器都是用javascript原生的纯XMLHttpRequest对象。这里带给大家的一个消息是和大多数的面向固定操作系统的C/S架构的开发不同,web客户端的开发有一个跨浏览器的支持的功能,而事实上上述的写法已经隐式的用了facade设计模式来隐藏跨浏览器的XMLHttpRequest的生成问题。后面的main函数是客户端的主调函数,它调用了之前的create方法生成xmlhttprequest对象,设置了服务器的链接目标,数据提交方式,并送出了数据(为什么数据是null?当然了,因为是get方式吗,数据都在url里了,如果post的话数据必须做为send的参数传递)。xmlHttp.onreadystatechange = callback;这句代码很关键,onreadystatechange变量实际上保存的是一个回掉函数的指针,就是callback函数,这个函数是用来响音事件的,什么事件呢?就是当readyState变量发生改变时会出发的事件。(对于函数指针,可能只写过面向对象语言的人并不了解,可以把它理解为一个触动函数调用的钩子,所以说javascript和java一点关系也没有,它更是一种类 c语言,当然了,它提供的某些机制,能够让你写出面向对象的客户端代码)。让我们看看callback里面有什么xmlHttp.readyState == 4这个判断是表示已经接收了服务器的相应数据。xmlHttp.status == 200而这个表示http的状态是200。(404是典型的页面不存在的状态)。如果你要写个helloworld的ajax程序而不用服务器(url只是个本地txt文件)那么你必须这样写xmlHttp.status == 200||xmlHttp.status==0因为对于非http协议,浏览器的http状态永远是0。然后if里面你就可以做你想做的事情了,比如更新数据,xmlhttprequest对象支持文本格式和xml数据,对于xml数据你可以用浏览器的dom对象处理。
      AJAX的简介就是这样,也许你会说这么简单啊?的确,你看学习java的时候也会觉得写一个helloworld是多么的简单。现在问题的核心是,你写复杂java代码的时候必须考虑代码质量,设计模式的问题。但这些对web客户端的脚本语言来说,在ajax出现以前似乎他们并不能做太多的事情,所以代码往往是散乱,可复用性极差的,更别提什么设计模式了。但AJAX来了,客户端似乎可以做很多事情了,需要的脚本代码急剧增加了。于是AJAX也好,Web2.0也好带给开发人员的真正的思想是好的代码质量,设计模式,框架不仅仅局限于服务器端和高级语言,现在,同样web客户端和脚本语言同样需要!于是,橡ruby on rails,DOJO这样的优秀框架一个接一个的出现,但是最重要的是我们必须同样以高代码质量的态度去对待web客户端开发!上面的一个隐式的facade模式的应用就是一个最简单的例子。
       最后总结一下AJAX带给了我们什么:
       1.非常棒的冲破传统的客户体验(这里有一点在于似乎企业应用不注重客户体验,这些应用还是更多的把注意力放在数据流的处理上,所以我本人更喜欢面向民众的开发)。
       2.减轻服务器的负担,将许多对数据的处理工作放在了客户端。(这不是件坏事情,因为现在的pc机的硬件水准已经允许我们这样做了)
       3.高质量,可复用性强的客户端开发以及相应的测试,debug工具和框架。

        忘了推荐两本书了《Fundations of AJAX》和《AJAX in action》英文版的电子版应该都有下吧,前者是基础,后者实际上就是在介绍客户端开发的设计模式。另外我把前者第4章的所有例子建了一个web application,整个application的开发环境我打了一下包,需要的人和我说一下,我可以发到他邮箱,很小,解压后实际上是个eclipse工程,另外如果你没有装wtp之类的web快速开发的eclipse的插件的话,里面有个build.xml 的 ant脚本,帮你部署到你的tomcat中(这个部署脚本只支持tomcat),不过你需要把tomcat.dir这个property改成你本地的tomcat home。关于ant,我会在以后的blog中介绍。
 
【以太网硬件六】1000base-T物理层编码究竟是怎么编的? 详述1000base-T物理层4D-PAM5的编码过程 阅读详情

相关推荐

python设计俄罗斯方块(附源码)

【代码】python设计俄罗斯方块(附源码)

牧魂的博客 2061

请简述ajax的过程,简述 AJAX 及基本步骤

简述 AJAX:AJAX即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。AJAX 基本步骤:function ajax(url, fnSucc, fnFail...

weixin_31178795的博客 1989

【Cadence 17.4实战】----- 基于MySQL与ODBC的企业级CIS数据库配置全攻略

本文详细介绍了如何在Cadence 17.4中配置基于MySQL与ODBC的企业级CIS数据库,提升硬件设计团队的元器件管理效率。通过实战案例和避坑指南,帮助读者掌握数据库部署、ODBC驱动配置及CIS参数映射等关键技巧,实现设计数据的实时同步与高效管理。

weixin_30591551的博客 328

Ajax技术简述

目录 一、Ajax技术 1.为什么要使用Ajax技术 2Ajax的工作原理: 二、Ajax的基本实现步骤 1、创建服务器 2.配置Ajax对象 3、获取服务器的响应 三、get请求 一、二者写法上的区别 let chicken = ['we','web','hello'] let chicken_normal = chicken.map(function(item){ return item+='sd'; }); let chicken_arrow = chicken.map((i..

YANGMENGZHENG的博客 344

BPMN-JS :修改节点“Change Type”事件类型

修改路径:node_modules\bpmn-js\lib\features\replace\ReplaceOptions.js。

TaylorY的博客 680

python制作图形化小游戏_创意编程|Python的GUI简易界面设计测测你的反应力

Python的GUI简易界面设计案例测测你的反应力作为初次接触代码编程的你,是不是觉得Python程序除了“码”就是“字”即使是有趣的程序除了烧烧自己的脑,也吸引不到更多人的兴趣,用户体验值接近于0?那你可冤枉了Python,他可是人工智能界的编程语言大咖。今天这个游戏设计就先带领大家,简单体验一下,如何让Python程序图形化。一起来吧!设计我们的小游戏游戏设计思路:电脑随机出...

weixin_34214135的博客 1872

简述什么是Ajax及其作用,简述Ajax

Ajax 即 'Asynchronous Javascript And XML' , 他可以在不重新加载整个页面的情况下对页面的某些部分局部刷新。简单的来说,Ajax就是 使用JS发送请求和接收响应。当然,在使用Ajax之前,我们需要一个路由。Ajax的四个步骤Ajax 的实现一般需要实现四个步骤。btn.onclick = () =>{const request = new XMLHttp...

weixin_35732273的博客 965

PID控制算法实践应用(一):PID算法的离散化

由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此,连续PID控制算法不能直接使用,需要采用离散化方法。

m0_72676510的博客 2603

简述什么是Ajax及其作用,简述什么是ajax

Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。Ajax = 异步 JavaScript 和 XML 或者是 HTML(标准通用标记语言的子集)。Ajax 是一种用于创建快速动态网页的技术。Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行...

weixin_34512248的博客 927

Codex入门10-Goal自主任务(进阶必学:设定目标就不管了,AI自己干活到完成)

/goal 是Codex CLI最强大的进阶功能——设定一个目标,AI就会制定计划、分步执行、自我测试、持续迭代,即使你关掉终端也会继续。本文详解/goal的工作原理、配置启用方法、常用命令(pause/resume/status/clear),以及如何写出高质量的目标描述让AI高效自主完成任务。

yueyeguzhuo的专栏 456

【Go语言实战】(2) Gin+Vue 电子商城

618来!!不用纠结去哪里剁手了!直接自己安排一个商场不香吗??

面向生活编程 4827

简述Ajax

本人小白一枚,欢迎大家一起讨论学习,如有错误,还望大家指教。 简述: Ajax即 ASynchronous JavaScript And XML,译为异步的JavaScript和XML。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面,这极...

qq_43138206的博客 231

YOLOv11改进策略【卷积层】| arXiv 2025 YOLO-Master中的稀疏混合专家ES-MoE 动态路由提适配 + 稀疏激活降延迟,突破精度-效率权衡

ES-MoE(Efficient Sparse Mixture-of-Experts)是为解决传统YOLO类实时目标检测器的静态计算冗余问题而提出的稀疏混合专家模块。现有YOLO架构对所有输入场景采用统一的密集计算模式,导致简单场景资源浪费、复杂场景(如密集小目标、遮挡场景)计算不足,难以平衡检测精度与推理速度。ES-MoE引入实例条件自适应计算,通过动态路由机制为不同复杂度的输入分配差异化计算资源,突破传统静态架构的精度-效率权衡限制,同时适配实时检测的轻量化需求。

Limiiiing的博客 465

ajax简述

ajax简介: AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 为什么会有ajax: 在ajax出现前 传统的web交互需要用户触发一个HTTP请求服务器,然后服务器收到之后,再作出响应到用户,并且返回一个新页面,每当服务器处理客户端提交的请求时,用户只能空闲等待,并且哪怕只是一次很小的请求,只需获得服务端的一个简单数据,也会返回一个完整的网页,而用户每次都要浪费时间和带宽

C_755028787的博客 848

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

简述Ajax原理及实现步骤

简述Ajax原理及实现步骤 Ajax 1、Ajax简介 概念 Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML)。 现在允许浏览器与务器通信而无须刷新当前页面的技术到叫做ajax。 Ajax:一种不用刷新整个页面便可与服务器通讯的办法。 应用 1.运用XHTML+CSS来表达信息; 2.运用JavaScript操作D...

lrhaoya 8532

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

简述AJAX是什么

AJAX 一,什么是Ajax? Ajax = 异步 JavaScript 和 XML。 Ajax是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,Ajax可以是网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的莫部分进行更新。 *传统的网页(不使用Ajax)如果需要更新内容,必需重载整个网页面。 二,Ajax的使用及实现步骤 (1)创建XMLHttpRequest对象,也就是创建一个异步调用对象。 (2)创建一个新的HTTP请求,并指定该HTTP请求的方法,U

qq_45986480的博客 527

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

简述AJAX

什么是ajax? ajax 全名 async javascript and XML(异步JavaScript和XML(可扩展标记语言)) 是前后台交互的能⼒ 也就是我们客户端给服务端发送消息的⼯具,以及接受响应的⼯具 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。 是⼀个 默认异步执⾏机制的功能,AJAX分为同步(async = false)和异步(async = true) 什么是同步请求..

Wx2464的博客 289

请简述ajax的过程,ajax简述过程.doc

ajax简述过程Ajax简述传统Web应用允许用户填写表单,当提交表单时向Web服务器发送一个HTTP请求。服务器接收并处理传来的表单,然后返回一个新的网页到用户浏览器。使用传统Web应用时若要改变页面的一小部分数据,需要重新加载整个页面,这是一种不友好的用户体验。而且由于每次应用的交互都需要向服务器发送请求,应用的响应时间依赖于服务器的响应时间,这有可能导致用户花费较长的等待时间。与传统Web应...

weixin_39941262的博客 281

简述 AJAX 及基本步骤

简述 AJAX:AJAX即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 AJAX 基本步骤:function ajax(url, fnSucc, fnFa...

weixin_30435261的博客 471

Ajax的简述:

AJAX是什么呐? AJAX是 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)的简称。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。是一种用于创建快速动态网页的技术。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。 我们在学习AJAX之前要具有哪些基础呢 H...

mumu1998的博客 484

Ajax(简述)

Ajax 全称为:“Asynchronous JavaScript and XML”(异步JavaScript 和 XML)使用Ajax,我们可以无刷新状态更新页面,并且实现异步提交,提交了用户体验。Ajax其实质是利用浏览器提供的一个特殊的一个特殊的对象(XMLHttpRequest)异步地向服务器发送请求服务器返回部分数据,浏览器让你去利用这些数据对页面做部分的更新,整个过程,页面无刷新,不打断用户的操作。...

qq_52750266的博客 723

Ajax简述

一、什么是AJAX: Asynchronous JavaScript and XML,异步的javascript和XML   1, 它是一个客户端技术,是将原来的一些老的技术进行结合使用,产生一种新的应用   2,可以跟任何服务端技术开发的程序进行交互   3,是一种异步的交互方式。异步指的是,javascript脚本发送请求后不等服务器响应,继续执行,即 请求响应和处理时异步完成的。

u010794208的专栏 443

Ajax的简述

什么是 AJAX ? AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML )。是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以实现网页的异步更新,意味着可以在不重新加载整个页面的情况下,对网页的某部分进行更新。   AJAX 技术核心是 XMLHttpRequest 对象( 简称 XHR ),这是由微软首先引入的一个特性。 XHR 为服务器发送请求和解析服务器响应提供了流畅的接口,能够以异步方式从服务器取

UPCwa162的博客 175

你真的了解Ajax吗?Ajax简述

Ajax技术是目前在浏览器中通过Java脚本可以使用的所有技术的集合。Ajax并没有创造出某种具体的新技术,它所使用的大多数技术都是在很多年以前就已经存在了,然而Ajax以一种崭新的方式来使用所有的这些技术,使得古老的B/S方式的Web开发焕发了新的活力,迎来了第二个春天。 具体来说,Ajax基于下列这些核心技术: XHTML:对应W3C的XHTML规范,目前是XHTML1.0。 CSS:对应W3C的CSS规范,目前是CSS2.0。 DOM:这里的DOM主要是指HTML DOM,XML DOM包括在下面的X

daghagh的博客 282
上一篇: 为什么需要AJAX
下一篇: 从myspace转移完毕
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值