使用原生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 ...
随机推荐
- 2019-8-31-dotnet-core-发布只带必要的依赖文件
title author date CreateTime categories dotnet core 发布只带必要的依赖文件 lindexi 2019-08-31 16:55:58 +0800 20 ...
- (转)线程池 ExecutorService 详细介绍以及注意点区别
线程池 ExecutorService 相信java开发都用到,这里做个简单笔记 一 Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池 ...
- 确认(confirm 消息对话框)语法:confirm(str); 消息对话框通常用于允许用户做选择的动作,如:“你对吗?”等。弹出对话框(包括一个确定按钮和一个取消按钮)
确认(confirm 消息对话框) confirm 消息对话框通常用于允许用户做选择的动作,如:"你对吗?"等.弹出对话框(包括一个确定按钮和一个取消按钮). 语法: confir ...
- [笔记]xshell Session
因之前正常使用的xshell5 绿色版,在重装系统之后 启动时提示缺少 MSCVP110.dll xshell5 绿色版,启动时提示缺少 MSCVP110.dll,在各网站下载了对应的Dll文件,依然 ...
- Excel skill: 如何替换换行符,以及如何把一格转换成多行/多列
http://blog.sciencenet.cn/blog-508298-695290.html 增加一辅助列,用替换函数替换掉软回车.比如A列是数据,从A1开始,则插入B列,B1输入公式=REPL ...
- 廖雪峰Java11多线程编程-2线程同步-2synchronized方法
1.Java使用synchronized对一个方法进行加锁 class Counter{ int count = 0; public synchronized void add(int n){ cou ...
- 阿里重磅开源首款自研科学计算引擎Mars,揭秘超大规模科学计算
日前,阿里巴巴正式对外发布了分布式科学计算引擎 Mars 的开源代码地址,开发者们可以在pypi上自主下载安装,或在Github上获取源代码并参与开发. 此前,早在2018年9月的杭州云栖大会上,阿里 ...
- day 36 MySQL的库、表的详细操作
MySQL的库.表的详细操作 MySQL数据库 本节目录 一 库操作 二 表操作 三 行操作 一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset u ...
- PAT甲级——A1081 Rational Sum
Given N rational numbers in the form numerator/denominator, you are supposed to calculate their sum. ...
- ES6之主要知识点(四)数值
引自:http://es6.ruanyifeng.com/#docs/number 1.Number.isFinite(),Number.isNaN() Number.isFinite(); // t ...