参数不能少
分类:微服架构

Ajax 中, xmlhttp.send() 带一个参数,表示要发送的数据,如果没有数据需要提交,那么就使用 null,否则在 FF 中会出错。

Ajax就是Asynchronous JavaScript + XML的缩略语,顾名思义,Ajax其实就是多种开发技术的有机组合,包括了 :
XHTML和CSS技术实现标准界面;
Document Object Model技术实现动态显示和交互功能;
XML和XSLT技术实现数据的交换和维护;
XMLHttpRequest技术实现异步数据检索;
JavaScript把一切联系起来
传统的网络程序工作流程基本如下:客户在网页上的操作转化为HTTP请求传回服务器,而服务器接受请求以及相关数据、解析数据并将其发送给相应的处理单元后,将返回的数据转成HTML页发还给客户,这种工作流程总会让用户感觉不太舒服,因为当服务器处理数据的时候,用户只能等待。显然用户不喜欢每作一步操作后,都需要等待服务器返回新的网页,用户希望的是顺畅的使用网络程序,甚至感觉不到服务器的存在。

图片 1

内容介绍:

相关阅读

而Ajax软件可以摆脱这种停停走走的网络交互方式,实现的方法是Ajax在客户与服务器之间插入了Ajax engine,在会话开始后,浏览器装载一个Ajax engine,而不是一个网页,Ajax engine是用JavasSript写制的,负责绘制客户看到的界面和与服务器通信,Ajax Engine可以用异步通讯的方式将用户的输入发送给服务器,从而避免用户看着空白的网页等待服务器的响应。用户的操作会调用一个Ajax engine的javascript函数,在以前这通常会触发一个HTTP请求给服务器,所有对用户操作的响应不需要再通过服务器,诸如简单的数据检查、修改数据甚至检索网页,engine都可以处理,如果engine必须要服务器返回数据以响应用户的请求,比如需要服务器处理提交的数据或者装载新的代码或数据等,engine会采用异步通讯的方式发出请求,通常用XML,从而不会影响用户与程序的交互。

来自网页

Ajax领域的新框架和组件库层出不穷,一些功能非常简单,一些则是过度的设计或者存在着严重的设计问题。Ajax开发者对于应该选择什么样的框架感到茫然无助,毫无疑问,Ajax in Action可以帮助你。本书是目前已经出版的唯一一本深入探讨Ajax开发中的架构问题的著作,这使得它显得卓而不群。如果不去深入研究Ajax开发中的架构问题,Ajax开发领域将会再现J2EE开发领域早年的那种混乱局面,本书将会使得Ajax开发秩序井然。我们需要的不完全是技术本身,还需要思考和选择的眼光。Ajax in Acti...

  • Ajax 专题

Ajax并不只是技术上的构想,而已经在业界得到了应用,Google的很多产品都采用了Ajax技术,例如上面讲到的Google Suggest, Google Map和Google Groups等,随着网络的发展,Ajax一定会被更广泛的使用,运用Ajax开发网络应用的最大挑战并不在于技术,因为其所使用的技术都已经很成熟、稳定和易于理解,对于网络应用开发者来说,最大的挑战在于突破陈旧的思维方式,开始想象一个更加宽广的世界。
传统Web应用模型(左)与Ajax模型的比较(右).

一、 Ajax简介

Ajax(asynchronous javascript and xml)是异步的javascript和xml,因此需要浏览器允许javascript运行。Ajax可以在不刷新整个网页的情况下更新网页的部分内容。2005年,Google使用Ajax创建出的页面极其生动,推动了Ajax的流行,现今新浪微博、Google地图等都使用了Ajax技术来设计更加友好丰富的页面。

 

这种旧的途径让我们认识到了许多技术,但它不会产生很好的用户体验。当服务器正在处理自己的事情的时候,用户在做什么?没错,等待。每一个动作,用户都要等待。

二、Ajax交互

Ajax和服务器的交互如下:

  1. 浏览器创建XMLHttpRequest对象
  2. 浏览器请求服务器上的数据
  3. 浏览器发送XMLHttpRequest请求

  1. 服务器响应XMLHttpRequest请求
  2. 服务器返回浏览器请求的数据

  1. 浏览器运行javascript解析服务器返回的数据并更新页面内容![ajax.gif]

图片 2

来自网页

第1章 一种新的Web设计方法

  • 1.1 为什么需要Ajax富客户端?
  • 1.2 Ajax的四个基本原则
  • 1.3 真实世界中的Ajax富客户端
  • 1.4 Ajax的替代方案
  • 1.5 小结
  • 1.6 资源

很明显,如果我们按桌面程序的思维设计Web应用,我们不愿意让用户总是等待。当界面加载后,为什么还要让用户每次再花一半的时间从服务取数据?实际上,为什么老是让用户看到程序去服务器取数据呢?

三、Ajax实例

  • #### Ajax代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Ajax Example</title>
<script>
function load()
{
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
        xmlhttp = new XMLHttpRequest();
    }
    else
    {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
        }
    }

    xmlhttp.open("GET", "ajax.php", true);
    xmlhttp.send();
}   
</script>
</head>
<body>

<div id = "myDiv">use Ajax to modify text</div>
<button type = "button" onclick = "load()">modify text</button>

</body>
</html>

代码解析:
对应Ajax交互章节:
1.单击button按钮,事件调用load函数(Ajax开始了)
2.创建一个XMLHttpRequest对象
3.调用open方法异步请求ajax.php(只打印一句话,参见如下ajax.gif)
4.调用send方法向服务器发出请求
5.等待服务器响应,读取服务器响应结果
6.更改页面文本内容

  • #### Ajax渣渣效果演示

图片 3

ajax.gif

第2章 Ajax新手上路

  • 2.1 Ajax的关键元素
  • 2.2 用JavaScript改善用户体验
  • 2.3 用CSS定义应用的外观
  • 2.4 用DOM组织视图
  • 2.5 使用XML技术异步加载数据
  • 2.6 Ajax有何不同
  • 2.7 小结
  • 2.8 资源

Ajax如何不同凡响

四、Ajax小结

上文的Ajax实例演示效果很渣,打扰了,这完全没有体现Ajax的强大功能,比如百度浏览器的文本框输入弹出提示,新闻页面天气的动态查询更新等等。但是Ajax的基本交互流程是相同的,以此入门,日后再好好体验Ajax的强大功能。

第3章 使Ajax秩序井然

  • 3.1 从混沌到秩序
  • 3.2 一些小型重构的案例研究
  • 3.3 模型-视图-控制器
  • 3.4 Web服务器端的MVC
  • 3.5 第三方的库和框架
  • 3.6 小结
  • 3.7 资源

通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始-停止-开始-停止这样的交互过程. 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。

ENDING!

第4章 作为应用的页面

  • 4.1 一种不同类型的MVC
  • 4.1.1 以不同的规模重复MVC模式
  • 4.1.2 在浏览器端应用MVC
  • 4.2 Ajax 应用中的视图
  • 4.2.1 将逻辑从视图中分离
  • 4.2.2 保持视图与逻辑的分离
  • 4.3 Ajax 应用中的控制器
  • 4.3.1 传统的JavaScript事件处理函数
  • 4.3.2 W3C 事件模型
  • 4.3.3 在JavaScript中实现灵活的事件模型...
  • 4.4 Ajax 应用中的模型
  • 4.4.1 使用JavaScript为业务领域建模
  • 4.4.2 与服务器交互
  • 4.5 从模型生成视图
  • 4.5.1 JavaScript对象的反射
  • 4.5.2 处理数组和对象
  • 4.5.3 添加控制器
  • 4.6 小结
  • 4.7 资源

不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎---采用JavaScript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互--不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。
传统Web应用的同步交互过程(上)和Ajax应用的异步交互过程的比较(下).

第5章 服务器的角色

  • 5.1 与服务器配合工作
  • 5.2 编写服务器端代码
  • 5.2.1 流行的实现语言
  • 5.2.2 N层体系架构
  • 5.2.3 维护客户端和服务器端的领域模型
  • 5.3 大局观:通用的服务器端设计
  • 5.3.1 不使用框架进行简单的Web服务器编码...
  • 5.3.2 使用Model2工作流框架
  • 5.3.3 使用基于组件的框架
  • 5.3.4 使用面向服务的体系架构
  • 5.4 细节:交换数据
  • 5.4.1 仅限于客户端的交互
  • 5.4.2 介绍行星浏览器的例子
  • 5.4.3 从Web页面的角度思考:以内容为中心...
  • 5.4.4 从插件的角度思考:以脚本为中心的...
  • 5.4.5 从应用的角度思考:以数据为中心的...
  • 5.5 向服务器写数据
  • 5.5.1 使用HTML表单
  • 5.5.2 使用XMLHttpRequest对象
  • 5.5.3 有效地管理用户的更新
  • 5.6 小结
  • 5.7 资源

通常要产生一个HTTP请求的用户动作现在通过JavaScript调用Ajax引擎来代替. 任何用户动作的响应不再要求直接传到服务器---例如简单的数据校验,内存中的数据编辑,甚至一些页面导航---引擎自己就可以处理它. 如果引擎需要从服务器取数据来响应用户动作---假设它提交需要处理的数据,载入另外的界面代码,或者接收新的数据---引擎让这些工作异步进行,通常使用XML, 不用再担误用户界面的交互。

第6章 用户体验

  • 6.1 做正确的事:开发高质量的应用
  • 6.1.1 响应性
  • 6.1.2 健壮性
  • 6.1.3 一致性
  • 6.1.4 简单性
  • 6.1.5 付诸实践
  • 6.2 让用户知情
  • 6.2.1 处理自己请求的响应
  • 6.2.2 处理其他用户提交的更新
  • 6.3 为Ajax设计通知系统
  • 6.3.1 对通知建模
  • 6.3.2 定义用户界面需求
  • 6.4 实现通知框架
  • 6.4.1 显示状态栏图标
  • 6.4.2显示详细的通知信息
  • 6.4.3 集成
  • 6.5使用通知框架处理网络请求
  • 6.6 表示数据的时效性
  • 6.6.1定义简单的突出显示格式
  • 6.6.2 用Scriptaculous效果库进行突出显示...
  • 6.7 小结
  • 6.8 资源

第7章 安全性与Ajax

  • 7.1 JavaScript与浏览器安全性
  • 7.1.1 引入来源服务器策略
  • 7.1.2 Ajax的相关考虑
  • 7.1.3 子域问题
  • 7.1.4 跨浏览器安全性
  • 7.2 使用远程服务进行通信
  • 7.2.1 代理远程服务
  • 7.2.2 使用Web服务
  • 7.3 保护机密数据
  • 7.3.1 中间人
  • 7.3.2 使用安全HTTP
  • 7.3.3 在普通HTTP上使用JavaScript加密数...
  • 7.4 Ajax数据流的访问策略
  • 7.4.1 设计安全的Web层
  • 7.4.2 限制对Web数据的访问
  • 7.5 小结
  • 7.6 资源

第8章 性能

  • 8.1 什么是性能?
  • 8.2 JavaScript执行速度
  • 8.2.1 测定应用时间的艰难方式
  • 8.2.2 使用Venkman性能分析器
  • 8.2.3 优化Ajax应用的执行速度
  • 8.3 JavaScript内存使用量
  • 8.3.1 避免内存泄漏
  • 8.3.2 Ajax的特殊考虑因素
  • 8.4 考虑性能的设计
  • 8.4.1 测量内存使用量
  • 8.4.2简单示例
  • 8.4.3 结果:如何将内存使用量缩减150倍
  • 8.5 小结
  • 8.6 资源

 

本文由10bet手机官网发布于微服架构,转载请注明出处:参数不能少

上一篇:雅虎启动重组计划,微软跑硅谷招搜索人才 下一篇:DML语句及用户授权,除非指定了
猜你喜欢
热门排行
精彩图文