使用原生ajax及其简单封装
原生ajax配置详解
// 原生ajax
// 1. 创建ajax对象
if(window.XMLHttpRequest){
// // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
var xhr = new XMLHttpRequest()
}else{
// IE6, IE5 浏览器执行代码
var xhr = new ActiveXObject("Microsoft.XMLHTTP")
}
// 2.连接服务器 open(方法,地址,异步传输)
xhr.open('get','file:///d%3A/markown/index.html',true);
// xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 配置请求头
// setRequestHeader(header,value) 向请求添加 HTTP 头。
// header: 规定头的名称
// value: 规定头的值
//3. 发送请求,如果使用的是post方法,则请求携带数据,在send中配置(仅post请求可用)
xhr.send()
// 4.接收返回,客户端和服务器端有交互的时候会调用onreadystatechange
xhr.onreadystatechange=function(){
// xhr.readyState 浏览器和服务器进行到哪一步了。
// 0 --(未初始化) :还没有调用open方法
// 1 --(载入) :已调用send方法,正在发送请求
// 2 --(载入完成) :send方法完成,已收到全部响应内容,
// 3. --(正在解析) :正在解析响应内容。
// 4 --(完成) :响应内容解析完成,可以在客户端使用
if(xhr.readyState == 4){
if(xhr.status== 200){
// xhr.responseText 获得字符串形式的响应数据。
// xhr.responseXML 获得 XML 形式的响应数据。
console.log("请求成功,响应内容为" + xhr.responseText);
}else{
console.log("请求出错!!!");
}
}
}
对ajax简单封装
function ajax(methods,url,callBack,text) {
if(window.XMLHttpRequest){
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
var xhr = new XMLHttpRequest()
}else{
// IE6, IE5 浏览器执行代码
var xhr = new ActiveXObject("Microsoft.XMLHTTP")
}
// 给methods 一个默认值
var methods = methods|| 'get' ;
xhr.open(methods,url,true);
// 如果是get请求,直接调用send方法发送请求
if (methods== 'get'){
xhr.send();
}
// 如果是post请求,则可配置请求参数
if (methods=='post'){
xhr.send(text);
}
xhr.onreadystatechange=function(){
if(xhr.readyState == 4){
if(xhr.status== 200){
// 请求成功之后调用回调函数
callBack(xhr.responseText);
}else{
let error = '错误码' + xhr.status
callBack(error);
}
}
}
}
调用
ajax('get','file:///d%3A/markown/index.html','',function(result){
console.log(result);
})
使用原生ajax及其简单封装的更多相关文章
- Ajax代码简单封装。
function ajax(url, onsuccess, onfail) { var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest( ...
- javascript中Ajax的简单封装
GET方式的在线:DEMO POST方式在线:DEMO // 1.封裝AJAX函數 function nativeAjax(option,success,error){ // 定义domain,方便环 ...
- 原生ajax的请求封装get和post
一个完整的AJAX请求包括五个步骤: 1.创建XMLHTTPRequest对象 2.使用open方法创建http请求,并设置请求地址 3.设置发送的数据,开始和服务器端交互 4.注册事件 5.获取响应 ...
- html --- ajax --- javascript --- 简单的封装
Ajax的简单封装 Ajax的全称是AsynchronousJavaScriptAndXML 如有疑问请参考:http://zh.wikipedia.org/zh-cn/AJAX 以及传智播客的视频教 ...
- js原生Ajax的封装与使用
一.原生Ajax代码的封装如下: (function() { var XHR = { createStandardXHR: function() { return new XMLHttpRequest ...
- 原生ajax、XMLHttpRequest和FetchAPI简单描述
什么是ajax ajax的出现,刚好解决了传统方法的缺陷.AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个 ...
- js原生Ajax 的封装和原理
原理及概念 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是一种用于创建快速动态网页的技术. 动态网页:是指可以通过服务器语言结合数 ...
- 原生ajax封装,包含post、method方式
原生ajax封装,包含post.method方式 function ajax(method, url, data, success) { var xhr = null; try { xhr = new ...
- 原生ajax与封装的ajax使用方法
当我们不会写后端接口来测试ajax时,我们可以使用node环境创建一个本地服务器. 1.创建一个本地服务器可参考http://www.cnblogs.com/heyujun-/p/6793900.ht ...
随机推荐
- software database is broken解决办法
ubuntu切换中文时报software database is broken错误. 网上的办法千篇一律,还都没有用.都是去应用中心删除thundbird之类的,啊....... 在终端下执行 sud ...
- Luogu P2827 蚯蚓(模拟)
P2827 蚯蚓 题意 题目描述 本题中,我们将用符号\(\lfloor c\rfloor\)表示对\(c\)向下取整,例如:\(\lfloor 3.0\rfloor =\lfloor 3.1\rfl ...
- Android开发 EditText按回车按键后出现 focus search returned a view that wasn't able to take focus! 错误
问题描述 将EditText这个View成为了ListView或者RecyclerView的item时,在按输入法的回车/下一步/next时会出现的 focus search returned a v ...
- Java虚拟机性能管理神器 - VisualVM(9) 排查JAVA应用程序线程死锁【转】
Java虚拟机性能管理神器 - VisualVM(9) 排查JAVA应用程序线程死锁[转] 标签: javajvm监控工具性能优化 2015-03-11 19:59 1948人阅读 评论(0) 收藏 ...
- python requests 高级用法 -- 包括SSL 证书错误的解决方案
Session Objects会话对象 Session对象在请求时允许你坚持一定的参数.此外,还坚持由Session实例的所有请求的cookie. 让我们坚持在请求时使用 s = requests.S ...
- 【JZOJ3319】雪地踪迹
description 森林里有一片长方形的草地,在清晨的大雪过后被一层厚厚的积雪所掩盖(下图左). 住在森林里的兔子和狐狸,穿越草地,都会在雪地上留下他们的踪迹.他们总是从左上角进入,并从右下角离开 ...
- 【转载】TCP演进简述
TCP演进简述 http://www.cnblogs.com/fll/ 一.互联网概述 TCP,即传输控制协议,是目前网络上使用的最多的传输协议,我们知道,整个互联网的体系结构是以IP协议提供的无连接 ...
- 容斥原理——状态压缩zoj3233 zoj2836升级版
zoj2836就是裸的求lcm进行容斥,用dfs比较直观 zoj3233增加了一个集合b,lcm(b)的倍数是不符合条件的 那么在zoj2836的基础上,把lcm(x,lcm(b))造成的影响减去即可 ...
- iOS开发之IMP和SEL(方法和类的反射)
1.SEL:类方法的指针,相当于一种编号,区别与IMP! IMP:函数指针,保存了方法的地址! SEL是通过表取对应关系的IMP,进行方法的调用! 2.获取SEL和IMP方法和调用: SEL meth ...
- SpringBoot学习笔记(三):SpringBoot集成Mybatis、SpringBoot事务管理、SpringBoot多数据源
SpringBoot集成Mybatis 第一步我们需要在pom.xml里面引入mybatis相关的jar包 <dependency> <groupId>org.mybatis. ...