位置: 编程技术 - 正文

javascript学习笔记(七)Ajax和Http状态码(javascript怎么学)

编辑:rootadmin

推荐整理分享javascript学习笔记(七)Ajax和Http状态码(javascript怎么学),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript怎么学,javascript教程推荐知乎,javascript教程完整版,javascript入门教程,javascript基础笔记,javascript如何学,javascript教程推荐知乎,javascript教程推荐知乎,内容如对您有帮助,希望把文章链接给更多的朋友!

Ajax及其工作原理

AJAX 是一种与服务器交换数据无需刷新网页的技术,最早由Google公司在谷歌地图里使用,并迅速风靡。

AJAX是不能跨域的,如需跨域,可以使用document.domain='a.com';或者使用服务器代理,代理XMLHttpRequest文件

AJAX是基于现有的Internet标准,并且联合使用它们:

XMLHttpRequest 对象 (异步的与服务器交换数据)JavaScript/DOM (信息显示/交互)CSS (给数据定义样式)XML (作为转换数据的格式)

创建 XMLHttpRequest 对象

所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。

创建Ajax对象:

//IE6以上var oAjax = new XMLHttpRequest();

//IE6var oAjax =new ActiveXObject("Microsoft.XMLHTTP")连接服务器

oAjax.open(方法,url,是否异步)我们都知道,Ajax即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。所以,Ajax天生就是工作在异步模式的(异步为true,同步false)

同步和异步

同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。(简单点说:同步就是只能一件一件事的来做,而异步就是可以多件事同时进行)

发送请求send()

GET 还是 POST?

javascript学习笔记(七)Ajax和Http状态码(javascript怎么学)

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

无法使用缓存文件(更新服务器上的文件或数据库)向服务器发送大量数据(POST 没有数据量限制)发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠接收返回信息

oAjax.onreadystatechange = function(){ //当请求状态改变时要调用的事件处理器

alert(oAjax.readystate);

}只要readyState属性的值发生变化时,便会触发一次readyStatechange事件。可以利用这个事件来检测每次状态变化后readyState的值。通常,我们只对readyState值为4的阶段感兴趣,因为这时所有数据都已经就绪,不过,必须在调用open()之前指定onreadystatechange事件处理程序才能确保跨浏览器兼容性。下面来看一个例子:

XHR对象

当XHR对象把一个HTTP请求发送到服务器的过程中会经历几个状态,直到请求被处理,然后才接收一个回应。readyState就是XHR请求的状态属性,它本身有5个属性值:

0(未初始化)还没有调用open()方法1(载入)已调用send()方法,正在发送请求2(载入完成)send()方法完成,已收到全部响应内容3(解析)正在解析响应内容4(完成)响应内容解析完成,可以再客户端使用了status

   status属性表示从服务器返回的响应状态码。例如:表示成功,表示未找到。

1字头:消息。这一类型的状态码,代表请求已被接受,需要继续处理。2字头:成功。这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。3字头:重定向。这类状态码代表需要客户端采取进一步的操作才能完成请求。4字头:客户端错误。这类状态码代表了客户端看起来可能发生错误,妨碍了服务器的处理。5字头:服务器错误。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生

另附:http状态码详解

statusText

  statusText是响应返回的文本信息,仅当readyState值为3或4的时候才能使用。当readyState为其它值时视图存取statusText属性将引发异常。

XHR的方法

方法 描述 abort() 导致当前正在执行的请求被取消 getAllResponseHeaders() 返回包含所有响应头的名称和值的单个字符|串 getResponseHeader(name) 返回响应头中指定的名称和值 open(method,url,async,username,pwd) 设置HTTP方法(get或post)等 send(content) 发出带有指定主体内容的请求 setRequestHeader(name,value) 使用指定的名称和值设置请求头

javascript学习笔记(八)正则表达式 基本概念正则表达式是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为元字符)。模式描述在搜索文本时要匹配的一个或多个

如何用JavaScript定义一个类 我原来的写法都是这样:functionDog(){this.name='hachi';}Dog.prototype={makeNoise:function(){alert('wangwangwang');}};后来又看到另外一种复杂一点而且看起来好像没有必要

JS合并数组的几种方法及优劣比较 本文属于JavaScript的基础技能.我们将学习结合/合并两个JS数组的各种常用方法,并比较各种方法的优缺点.我们先来看看具体的场景:varq=[5,5,1,9,9,6,4,5,8];varb=

标签: javascript怎么学

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

上一篇:javascript学习笔记(六)数据类型和JSON格式(javascript总结笔记)

下一篇:javascript学习笔记(八)正则表达式(javascript学习指南)

  • 事业单位交所得税是否可以报国高新
  • 预付款被退回分录
  • 土地摊销账务处理
  • 外贸出口增值税怎么申报
  • 车辆购置税可以刷信用卡吗?
  • 合并报表调整分录理解
  • 哪些进项税额不能加计抵减
  • 工资可以先计提不发吗
  • 生产成本里面的直接人工
  • 信用减值损失贷方
  • 预算管理的方法及应用
  • 购物中心联营扣点
  • 人力资源服务费税收编码
  • 发票已开款项未入账有什么影响?
  • 开公司后如何报个税申报
  • 国外汇款 用什么理由
  • 获赠或继承来的房屋以后再转让
  • 工资上浮20%怎么算
  • 已经开了的发票可以打销货清单吗
  • 服务,不动产和无形资产扣除项目明细
  • 硝铵磷肥的肥效期
  • Windows10如何切换中英文输入法
  • win11dns电脑服务器未响应如何处理
  • 实收资本或股本账户属于企业的什么账
  • linux aptx
  • 冲销以前年度多计提的工资资产负债表怎么平
  • 单位公车是什么意思
  • 销售使用过的固定资产可以开专票吗
  • 酒店装修期间的费用如何核算
  • 以旧换新方式销售货物的,不得扣除旧货价值
  • 阿里云天池大赛pdf
  • mp3格式最高音质
  • php加密zend
  • 错误解决方法
  • 基于web的疫情防控方案
  • php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
  • 拨入专款年终如何做账
  • 施工营业额是什么意思
  • db2udb
  • 季度所得税收入多报,年度可以调整吗
  • 增值税专用发票是干什么用的
  • 购入交易性金融资产的相关税费计入
  • 收到提供劳务的收入
  • 哪些属于费用发票类型
  • 经营性投资范畴
  • 实际已缴纳所得税额怎么填
  • 备用金支出没有发票怎么办
  • 销售补偿法
  • 进项票未认证就申报抵扣
  • 资产减值损失的原因
  • 代账公司帮客户开发票
  • 上月留抵税额怎么看
  • 营改增涉及哪些项目
  • 金蝶软件采购订单
  • 财税2009年87号文废止
  • 临建费用包含在哪里
  • mysql复制数据
  • 修改文件软件免费下载
  • 删除默认操作系统
  • windows2003怎么修改用户密码
  • windows xp.
  • realjbox.exe - realjbox是什么进程 作用是什么
  • mac safari浏览历史
  • centos7 wol
  • linux 端口号
  • win8 控制面板
  • win10电脑开机蓝屏怎么进入安全模式
  • nodejs 用途
  • js中的apply方法
  • 什么是批处理模式
  • easyui getselections
  • js日历插件日期选择器
  • vue vue cli
  • jquery怎么设置宽度
  • android连接手机
  • python 批量操作
  • 行政事业单位的会计核算以什么为基础
  • 智能财税证书含金量如何
  • 台湾大学会计硕士
  • 增值税普通发票可以抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设