权威指南之脚本化http

使用javascript代码操作http是可行的。当用脚本设置window对象的location属性或调用表单对象的submit方法时,都会初始化http请求。这两种情况下,浏览器会加载新页面。

ajax描述了一种使用脚本操纵http的web应用框架。ajax应用的主要特点是使用脚本操纵http和web服务器进行数据交换,不会导致页面重载。在某种意义上,comet与ajax相反。在comet中,web服务器发起通信并异步发送消息到客户端。如果web应用要相应服务器发送的消息,则它会使用ajax技术发送或请求数据。

实现ajax和comet的方式有很多种,而这些底层的实现有时称为传输协议。例如 img元素有一个src属性。当脚本设置这个属为url时,浏览器发起的httpget请求会从这个url下载图片。因此,脚本通过设置img元素的src属性,且把信息作为图片url的查询字符串部分,就把能经过编码信息传递给web服务器。img元素无法实现完整的ajax传输协议。因为数据交换生单向的

为了把iframe作为ajax传输协议使用,脚本首先要把发送给web服务器的信息编码到url中,然后设置iframe的src属性为该url。服务器能创建一个包含响应内容的html文档,并把它返回给web浏览器,并且在iframe中显示它。iframe需要对用户不可见,例如可以使用css隐藏它,脚本能通过遍历ifame的文档对象来读取服务器的响应。这种房屋受限于同源策略

实际上 script元素的src属性能设置url并发起htttpget请求,使用script元素实现脚本操作http是非常吸引人的。因为他们可以跨域通信而不受限于同源策略。使用基于script的ajax传输协议时,服务器的响应采用json编码的数据格式,当执行脚本时,javascript解析器能自动将其解码。由于他使用json数据格式,因此这种ajax传输协议也叫做jsonp

所有浏览器都支持XMLHttpRequest对象,它定义了API,除了常用的GET请求,这个API还包括实现POST请求的能力,同时它能用文本或Document对象的形式返回服务器的响应。

浏览器在XMLHttpRequest类上定义了它们的http API.这个类的每个实例都表示一个独立的请求/响应对,并且这个对象的属性和方法允许指定请求细节和提取相应数据

使用这个HTTP API必须做的第一件事就是实例化XMLHttpRequest对象

var request=new XMLHttpRequest();

也能重用已存在的XMLHttpRequest,但注意这将终止之前通过该对象挂起的任何请求。ie7之前的版本不支持非标准的XMLHttpRequest()构造函数,但能模拟

if(window.XMLHttpRequest===undefined){
  window.XMLHttpRequest=function(){
    try{
      return new ActiveXOject("Msxml2.XMLHTTP.6.0");
    }
    catch(e1){

      try{
        return new ActiveXObject("Msxml2.XMLHTTP.3.0");
      }
      catch(e2)
      {
        throw new Error("XMLHttpRequest is not supported");

      } 

    }

  };

}
时间: 2024-10-01 08:07:59

权威指南之脚本化http的相关文章

权威指南之脚本化jquery

jqury函数 jquery()($())有4种不同的调用方式 第一种是最常用的调用方式是传递css选择器(字符串)给$()方法.当通过这种方式调用时,$()方法会返回当前文档中匹配该选择器的元素集.还可以将一个元素或jquery对象作为第二参数传递给$()方法,这时返回的是该特定元素或元素集的子元素中匹配选择器的部分. 第二种调用方式是传递一个Elment.Document或Window对象给$()方法.在这种情况下,$()方法只须简单的将该Elment.Document或Window对象封装

Java 脚本化编程指南

译文出处: coyee   原文出处:docs.oracle Java脚本化API为谁准备? 脚本语言的一些有用的特性是: 方便:大多数脚本语言都是动态类型的.您通常可以创建新的变量,而不声明变量类型,并且您可以重用变量来存储不同类型的对象.此外,脚本语言往往会自动执行许多类型的转换,例如, 必要时 将数字10转换为"10". 开发快速原型:您可以避免编辑编译运行周期,只使用"编辑运行"! 应用扩展/定制:你可以"具体化"的部分应用程序,例如一些

HTTP脚本化——XMLHttpRequest对象的学习笔记

一. HTTP 请求和响应 一个HTTP请求由4部分组成 HTTP请求方法(也叫动作Verb) 正在请求的URL 一个可选的请求头集合(可能包含身份验证信息等) 一个可选的请求主体 服务器返回的HTTP响应由3部分组成 一个数字和文字组成的状态码,用来显示请求的成功和失败 一个响应头集合 响应主体 说明: XMLHttpRequest不是协议级的HTTP API而是浏览器级的API,浏览器级的API需要考虑Cookie.重定向.缓存和代理,而协议级的API只需要考虑请求和响应 XMLHttpRe

《JavaScript权威指南(第6版)(中文版)》PDF

简介自1996年以来,JavaScript的:权威指南已为JavaScript圣经程序员,程序员指南和全面的参考,以核心语言和客户端JavaScript API的Web浏览器定义.第6版包括HTML5和ECMAScript 5,与jQuery和服务器端JavaScript新的篇章.这是推荐谁想要学习的Web编程语言经验的程序员,以及当前的JavaScript程序员谁想要掌握它. 封面   目录<javascript权威指南(第6版)> 前言 1 第1章 javascript概述 5 1.1 j

HTML5与CSS3权威指南.pdf1

第2章 HTML5与HTML4的区别 HTML5的文件扩展符与内容类型保持不变仍为“.html”或“.htm”,内容类型(ContentType)仍为“text/html” DOCTYPE声明: HTML4中,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> HT

《JavaScript权威指南(第六版)》.(美)David.Flanagan.中文扫描版.pdf

下载地址:网盘下载 内容简介  · · · · · · 本书是程序员学习核心JavaScript语言和由Web浏览器定义的javascript API的指南和综合参考手册. 第6版涵盖HTML 5和ECMAScript 5.很多章节完全重写,以便与时俱进,紧跟当今的最佳Web开发实践.本书新增章节描述了jQuery和服务器端JavaScript. 本书适合那些希望学习Web编程语言的初.中级程序员和希望精通JavaScript的JavaScript程序员阅读. 作者简介  · · · · · ·

《HTML5与CSS3权威指南》知识整理(1)

<HTML5与CSS3权威指南>知识点整理(1) 1.新增标签 新增语义化标签. <header> 定义 section 或 page 的页眉. <nav>定义导航链接. <footer> 定义 section 或 page 的页脚 <section> 定义 section. <article> 定义文章. <aside> 定义页面内容之外的内容. 下面用一个图示来说明其用法. 语义化标签的好处: 1.对搜索引擎友好,有利

JavaScript权威指南(第6版)(中文版)pdf

下载地址:网盘下载 内容简介 编辑 第5版针对Ajax和Web 2.0技术进行了全新的改版.和上一版相比,更新的内容较多,总体上接近整个篇幅的1/2,而这也正是本书姗姗来迟的原因之一.具体来说,第5版在以下部分有所更新: 第一部分关于函数的一章(第8章)进行了扩展,特别强调了嵌套的函数和闭包.新增了自定义类.名字空间.脚本化Java.嵌入JavaScript等内容. 第二部分最大的改变是增加了如下的大量新内容.包括第19章"cookie和客户端持久性",第20章"脚本化HTT

JavaScript权威指南第13章 web浏览器中的javascript

13.1 客户端javascript window对象是所有的客户端javascript特性和api的主要接入点.表示浏览器的一个窗口,可以通过window对象来引用它. window 的方法 alert() prompt() confirm() 13.2 在html里嵌入javascript 4种方法: 内联:放置在<script></script>标签之中 外部引入:<script src="   "></script> html程序