ajax详细讲解和封装包括HTTP状态码
AJAX(异步的JavaScript和XML,用异步的形式去操作xml)
主要的作用:数据交互
好处:
1.节省用户的操作时间
2.提高用户体验
3.减少数据请求(传输获取数据)
function ajax(method,url, data, success){
//第一步:创建ajax对象
var xhr=null;
//这判断主要是为了兼容IE6,IE6没有XMLHttpRequest这个对象,所以前面要写上window,防止报错。
//还有一种写法是用try{尝试执行的代码如果有错误,则会执行catch里面的}catch(e){}
if(window.XMLHttpRequest){
//标准浏览器的对象(包括IE7-IE8)
xhr=new XMLHttpRequest();
}else{
//IE6下是这个对象
xhr=ActiveXObject('Microsoft.XMLHTTP');
}
//如果当前方法为get并且有数据的情况下
if(mothod=='get'&& data){
url+='?'+data;
}
//第二步:提交前的准备工作
open方法里面3个参数
1.用什么方式提交(get或者post)
2.请求地址
3.是否异步
区别:
get方式:把数据名称和数据值用=连接,如果有多个的话。那么他会把多个数据组合用&进行连接,然后把数据放到URL?后面传到指定页面,URL有长度限制,会被缓存。用户安全比较差些。
post方式:通过请求头发送的,理论上无限制大小,不会被缓存,安全性要好些。
true(异步):前面代码没执行完不会影响后面的代码执行
false(同步):前面的代码没执行完,后面的代码不会执行
xhr.open(method,url,true);
第三步:提交发送请求
//如果是空的代表是post
if(method=='get'){
xhr.send();
}else{
//设置请求头文档类型
xhr.setRequstHeader('content-type','application/x-www-form-urlencoded');
xhr.send(data);
}
第四步:等待服务器返回内容
//responseText: ajax请求返回的内容
//readystate属性:请求状态
//onreadystatechang:当状态发生改变时触发
xhr.onreadystatechange=function(){
//请求状态等于4,代表响应内容解析完成。可以在客户端调用了
if(xhr.readystate==4){
//当服务器状态码等于200的时候,代表服务器返回成功
if(xhr.status==200){
//回调函数
success && succss(xhr.responseText);
}else{
alert('出错了,Err:'+xhr.status);
}
}
}
}
调用:
ajax('get' , '1.php', '' ,function(data){
console.log(data);
})
HTTP状态码:总共分为5种类型
1字开头:代表消息类型
2字开头:代表成功类型
3字开头:代表重定项类型
4字开头:代表错误类型
5字开头:代表服务器错误
希望能帮助需要的朋友,帮助它人也是帮助自己!
ajax详细讲解和封装包括HTTP状态码的更多相关文章
- (转)JAVA AJAX教程第三章—AJAX详细讲解
现在开始深入AJAX,这里还是按老思路,理论和实践相结合.这章的内容主要是讲解AJAX步骤详解,下一张将会用一个AJAX技术实现页面提示效果的实例来说明AJAX的实现. 一.AJAX步骤详解 AJAX ...
- ajax success和error接收了哪些状态码
ajax和 Http Status 之前一直奇怪ajax发送请求后success 和 error 分界的状态码是多少, 主要很多将ajax的教程也没有提到, 例如, 我用ResponseEntity& ...
- 多测师讲解接口测试 _HTTP常见的状态码归纳_高级讲师肖sir
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对 ...
- http状态码、错误分析
客户端的每一次请求,服务器都必须给出回应.回应包括 HTTP 状态码和数据两部分. HTTP状态码五大类: 状态码 响应类别 出现原因 1XX 信息性状态码(Informational) 服务器正在 ...
- HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端
协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...
- 9. http协议_响应状态码_页面渲染流程_路由_中间件
1. http协议 超文本传输协议 协议详细规定了 浏览器 和 万维网服务器 之间互相通信的规则 客户端与服务端通信时传输的内容我们称之为报文(请求报文.响应报文) 常见的发送 get 请求方式 在浏 ...
- http状态码301和302的区别
1.官方的比较简洁的说明: 301 redirect: 301 代表永久性转移(Permanently Moved) 302 redirect: 302 代表暂时性转移(Temporarily Mov ...
- http状态码301和302详解及区别——辛酸的探索之路(文章源自:http://blog.csdn.net/grandPang/article/details/47448395)
一直对http状态码301和302的理解比较模糊,在遇到实际的问题和翻阅各种资料了解后,算是有了一定的理解.这里记录下,希望能有新的认识.大家也共勉. 官方的比较简洁的说明: 301 redirect ...
- 复习HTTP状态码+301和302
一,HTTP状态码: 1xx:(信息状态码),接受的请求正在处理.2xx:(成功状态码),请求正常处理完毕.3xx:(重定向状态码),需要进行附加操作以完成请求.4xx:(客户端错误状态码),服务器无 ...
随机推荐
- CentOS6.5固定IP方式上网(NAT)
使用NAT模式 虚拟机网络连接使用NAT模式,物理机网络连接使用Vmnet8.如果没有重置一下即可 虚拟机设置里面--网络适配器,网络连接选择NAT模式. 虚拟机菜单栏-编辑-虚拟网络编辑器,选择Vm ...
- atoi
, KInvalid}; int g_nStatus=kValid; int StrToInt(const char *str) { g_nStatus=KInvalid; ; if((str!=NU ...
- SecureCRT 选择Courier New等其他字体.
http://justwinit.cn/post/5813/ 如何解决SecureCRT无法选择Courier New等其他字体最终解决办法:到C:\Windows\Fonts目录下,找到Courie ...
- Microsoft Office 2016 简体中文 Vol 版镜像下载(Pro Plus、Visio、Project 下载)
在使用上,零售版和批量授权版并没有区别,只是授权方式方面的区别,相对而言,VOL 版的更容易激活一些,其他并没有什么区别了. 有需要的可以在下面下载:(以下均是 VL 版) 版本:Office 201 ...
- android: activity切换之效果
Activity是android应用的重要部分;为了提高用户的体验度,加了Activity之间切换的动画效果,现在介绍的一种切换动画: 是什么效果,大家自已动手测试一下便知道: 先看进入的动画: pa ...
- 通过数组方式向Oracle大批量插入数据(10万条11秒)
1.创建数据库Person CREATE TABLE Person( id number, name nvarchar2() , age number , sex nvarchar2() , pass ...
- 【福利大放送】不止是Android,Github超高影响力开源大放送,学习开发必备教科书
一.写在前面 最近项目重构,时间贼多,也没什么时间更新博客,个人的开源项目也是多时没有更新了:github地址,然而没有更新不代表我不在乎,后面一有空还是会继续提交的. 还是来冒个泡,给大家献上一些福 ...
- BZOJ 2424: [HAOI2010]订货(费用流)
裸的费用流了= =从源点向每个点连费用为di,从汇点向每个点连流量为ui,每个点向下一个点连费用为m,流量为s的边就行了 CODE: #include<cstdio>#include< ...
- Java Web(七) JSTL标签库
在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行为.行为只能提供一小部分的功能,大多数的时候还是会用java脚本,接着就使用了EL表达式,基本上EL表达式看似能满足我们的要求,它 ...
- .NET跨平台之旅:博问站点迁移至ASP.NET Core on Linux并发布上线
Powered by ASP.NET Core on Linux! 我们全站的 .NET Core 迁移工作如火如荼,这是我们今年上半年的重要工作. 今天我们终于完成了博问产品(q.cnblogs.c ...