位置: 编程技术 - 正文

javascript 进阶篇3 Ajax 、JSON、 Prototype介绍

编辑:rootadmin
Ajax 这个词听了不少,但是其实并没有真的接触过,于是在这里稍微了解一下。 Ajax技术的创新之处在于,改善了传统的“请求-等待-响应-刷新-返回数据”模式,在信息返回之前,用户可以继续自己的操作,当前页面不会因为请求而刷新。这样大大的提高了交互性。 Ajax其实并不是一个技术,而是由许多技术组成的。最大的特色之一就是可以异步传输,实现多线程服务。 Ajax的异步传输,依靠的是js中的XMLHttpRequst对象,于是我们从它入手。 XMLHttpRequest是XMLHttp组建的一个抽象对象,用于数据交互。在IE中,XMLHttpRequest作为一个ActiveX控件,在FF Opera中作为一个js的内置对象。 创建XMLHttpRequest对象的封装代码: ReadyState属性: 0=未初始化 1=初始化 2=发送数据 3=数据传送中 4=完成 responseText 属性: 1、2=responseText是个空字符串 3=正在接收 4=接收完成 responseXML属性: 执行过send()后,如果返回正确的xml格式数据,可以使用XMLHttpRequest接收返回的数据。responseXML可以把返回信息格式化为XML Document对象,类型为text/xml 如果不包含则返回null。 status属性: 属性send()后,可以属性status接收读取事物状态,只有ReadyState为3、4时可以使用这个属性,否则读取status时将会发生错误。常见的有以下几个: =客户必须继续发出请求 =交易成功 =错误请求 =请求不允许 =没有发现文件,查询或URL =服务器内部错误 =服务器暂不可用 =服务器不支持或拒绝请求头中指定的HTTP版本。 statusText属性: send()方法后,通过statusText读取事务状态,statusText返回当前HTTP请求的状态行,只有当readyState为3 4时才可以使用这个属性,否则发生错误。 onreadystatechange事件: 这个事件属性值发生变化时所要执行的操作。 abort()方法: 停止一个XMLHttpRequest对象对HTTP的请求,把该对象恢复到初始状态。 open()方法: 创建一个新的HTTP请求,并指定方法,URL及验证信息等,语法是: xmlHttp.open(method,url,mode,user,psd); method表示请求方法,有post, get, put等,忽略大小写。url是目的地址,mode是不二类型参数,指定请求是否为异步方式,默认为true。 调用open()方法后,readyState属性设置为1. send()办法: xmlHttp.send(content);content是要发送的内容,没有可以忽略。 setRequestHeader()方法: setRequestHeader(header, value)设定单个HTTP头信息,当readyState为1时,可以在open()后调用此方法,否则将返回一个异常,如果已存在则原来的将覆盖。value用样是一个字符串型数据,表示头名称的值。 getResponseHeader()方法: 通过读取首部信息,可以读取到content-type(内容类型), content-length(内容长度), last-modify(最后一次修改)日期等,根据具体网站不同。 getAllResponseHeaders()方法: 获得全部的首部信息。 接下来举个例子,就是获取头信息的: 这个例子在IE下工作很顺利,在FF下死活出不来,MS原因是FF不支持ActiveX。。。求高手解决下。。。??z JSON JSON的全称是:javascript object notation 对象标志。它是一种轻量级的基于文本并且和语言无关的数据交换格式。和XML类似,是一种文本组织格式,具体是这样的,比如我们有一组数据,用xml的话: <user> <name>Dumpling</name> <gender>Famle</gender><age><age> <user> 那么如果用JSON的格式,就是: "user":[{"name":"Dumpling", "gender":"Famle", "age":}] 优点就是它可以简化获取的数据的解析和存储等工作。 如果上面的例子再写复杂一点,就可以看到JSON的具体格式了,我们在JS中声明的时候,就可以这么写: 使用JSON封装数据,用到的是JSON.stringify(obj)的方法。obj自己封装一个类就可以。 不需要我们自己来写字符串,只要给值,然后用函数封装就可以了。来个简单的例子:

害怕太长我就遮起来了,反正结果是这样子滴:

当然,如果要一次封装很多,比如提交了5 6个用户然后一次封装成JSON格式,可以把这几个放到一个Arry里,然后把arry作为stringify的参数就可以,自己试一下吧~我就不上代码了~

在JS中对JSON解析和赋值

这一块就算是json的中心了,对他的解析其实很简单的,比如还是之前的例子,那么我要得到sanday这个值,就可以这么写:var username=uersJson.users[1].name; 会了这一个,别的也没问题了吧~ 如果要修改数据,那么就是直接赋值,比如我要修改那个食物的价格 userJson.objects[0].price=; 至于判断输入是否合法之类的,我就懒得写了,费时间。 JSON就到这里,接下来最后一部分了。 Prototype框架 先上一下prototype的网站: 它其实就是对JS做了大量的拓展,大体由通用方法与模板两部分构成的。通用方法比如说$() $$() $A()等,模板则是对JS内部类进行拓展,并提供对Ajax的各种应用的支持模板。具体大家可以上给出的网站看看。举俩例子,再多请到API页面查看: (是啊 我很懒的?(???)?) $()方法:获取元素对象,类似于getElementById方法,并且可以接受多个参数,返回一个数组。 $$()方法:获取指定元素数组,类似与getElementByTagName()方法,根据标签名获取对象。 Ajax对象:刚才我们也说过了,因为浏览器不同,我们需要写大量的判断代码,于是prototype就给我们代劳了,Ajax.Request对象封装了创建XMLHttpRequest对象的代码,以及各种处理服务器返回信息的常用方法,所以还是很好用的。想要深入学习的话,请继续参考上面的API链接 (= =!) form对象:因为真的很常用,于是form也是prototype重点关注的对象,这部分 很重要,于是可以参考API的相关部分。。。。。。

推荐整理分享javascript 进阶篇3 Ajax 、JSON、 Prototype介绍,希望有所帮助,仅作参考,欢迎阅读内容。

javascript 进阶篇3 Ajax 、JSON、 Prototype介绍

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

js对象关系图 方便dom操作 js对象关系图JavaScript对象参考手册本参考手册描述每个对象的属性和方法,并提供实例。ArrayBooleanDateMathNumberStringRegExpGlobalBrowser对象参考手册本参考手

Web开发之JavaScript 小引笔者认为web开发包括设计html,javascript,css,以及一种高级语言,比如c#,java等等,本文分为三部分,第一部分为简单介绍javascript,第二部分为理解ECM

javascript工具库代码 /**YYJ.js主要提供后台应用方法*目前有Ajax、addLoadEvent、deleteAll、getByClass、$C(=getByClass)、$、yyjtable、setCss、getCss、iaArray等方法。最后面还提供了一个*可实

标签: javascript 进阶篇3 Ajax 、JSON、 Prototype介绍

本文链接地址:https://www.jiuchutong.com/biancheng/380561.html 转载请保留说明!

上一篇:javascript 进阶篇2 CSS XML学习

下一篇:js对象关系图 方便dom操作(js对象类型的语法规则)

  • 会计利润和应纳税所得额的区别和联系
  • 合伙企业转让股权如何缴税
  • 车辆购置税税收优惠
  • 商业承兑汇票未到期贴现
  • 社保缴费是当月扣当月的吗
  • 工资走公账和私账哪个好
  • 净资产账面价值怎么计算
  • 审核通过的红字发票信息表可以撤销吗
  • 票据贴现的账务处理案例
  • 股息红利需要企业交税吗
  • 固定资产原价的结余额
  • 冲减产品成本会计分录
  • 持续经营损益怎么算
  • 酒店怎么付钱
  • 私车公用产生的过路费怎么开发票
  • 企业年金的税收政策
  • 用实物资产注资给子公司需缴纳增值税吗?
  • 装卸费的增值税是多少
  • 股东贷款企业贷债务
  • 资产负债表季度申报期末余额怎么填
  • 当月增加的投资性房地产当月提折旧吗
  • 组合销售带来的收益
  • 怎么更正以前年度企业所得税
  • 子公司能转让吗
  • 火车票进项税在哪里认证
  • App Store可以退款吗
  • 软件开发怎么做会计分录
  • php日期时间运算汇总
  • mmc.exe是什么进程
  • vue获取本地文件生成流
  • 免抵退税的账务处理
  • 核定征收的企业怎么交所得税
  • 最早遥控器是谁发明的
  • 查补以前年度所得税如何申报
  • 城市维护建设税计入什么会计科目
  • nginx反向代理未知域名
  • 金融企业财务规则(征求意见稿)
  • 企业年金如何缴纳计算方法
  • 我国消费税的特点
  • 机器学习中的数学原理——过拟合、正则化与惩罚函数
  • 红冲上年度收入怎么做凭证
  • ps换脸后怎样修理痕迹
  • phpcms v9 getshell
  • 织梦商城
  • python中if语句的用法
  • 进项税大于销项税怎么交税
  • 采购成本和销售成本的核算
  • mysql中删除语句怎么写
  • 个体的个人所得税怎么交税?
  • 小微企业有什么优惠政策
  • 小微企业应纳税所得额100万到300万怎么计算
  • 社保扣费不成功会再次扣费吗
  • 资金结存余额在借方还是贷方
  • 发票税率如何填写
  • 材料采购成本的计算分录
  • 税控盘全额抵扣怎么做分录
  • 什么是划分?划分应当遵守哪些规则?
  • 为员工买的商业保险怎么做账
  • 会计凭证审核标准有哪些
  • sql数据库怎样批量添加数据
  • win8系统怎么查看隐藏文件
  • mac怎么创建apple id
  • centos7修改网络
  • 硬盘安装好了显示不出来怎么办
  • win7更新不了80072efe
  • win7的屏幕键盘
  • 命令提示符操作方法
  • WIN7系统怎么安装 注音输入法
  • mysqld-nt.exe - mysqld-nt是什么进程 有什么用
  • win7旗舰版怎么改成专业版
  • nodejs如何使用
  • Unity3D之iTween
  • linux shell实战
  • unity spine换装
  • 广西壮族自治区图书馆
  • 青岛的红叶什么时候红
  • 增值税纳税申报操作流程和内容
  • 贵州地税网上申报大厅
  • 车辆购置税查询怎么查
  • 税务公文字体
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设