原生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及其简单封装的更多相关文章

  1. Ajax代码简单封装。

    function ajax(url, onsuccess, onfail) {    var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest( ...

  2. javascript中Ajax的简单封装

    GET方式的在线:DEMO POST方式在线:DEMO // 1.封裝AJAX函數 function nativeAjax(option,success,error){ // 定义domain,方便环 ...

  3. 原生ajax的请求封装get和post

    一个完整的AJAX请求包括五个步骤: 1.创建XMLHTTPRequest对象 2.使用open方法创建http请求,并设置请求地址 3.设置发送的数据,开始和服务器端交互 4.注册事件 5.获取响应 ...

  4. html --- ajax --- javascript --- 简单的封装

    Ajax的简单封装 Ajax的全称是AsynchronousJavaScriptAndXML 如有疑问请参考:http://zh.wikipedia.org/zh-cn/AJAX 以及传智播客的视频教 ...

  5. js原生Ajax的封装与使用

    一.原生Ajax代码的封装如下: (function() { var XHR = { createStandardXHR: function() { return new XMLHttpRequest ...

  6. 原生ajax、XMLHttpRequest和FetchAPI简单描述

    什么是ajax ajax的出现,刚好解决了传统方法的缺陷.AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个 ...

  7. js原生Ajax 的封装和原理

    原理及概念 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是一种用于创建快速动态网页的技术. 动态网页:是指可以通过服务器语言结合数 ...

  8. 原生ajax封装,包含post、method方式

    原生ajax封装,包含post.method方式 function ajax(method, url, data, success) { var xhr = null; try { xhr = new ...

  9. 原生ajax与封装的ajax使用方法

    当我们不会写后端接口来测试ajax时,我们可以使用node环境创建一个本地服务器. 1.创建一个本地服务器可参考http://www.cnblogs.com/heyujun-/p/6793900.ht ...

随机推荐

  1. 论文翻译——Fast-R-CNN(端到端开篇, End to end)

     快速的区域卷积网络方法(Fast R-CNN)   论文地址:https://arxiv.org/abs/1504.08083 摘要: 本文提出一种基于快速的区域卷积网络方法(Fast R-CNN) ...

  2. MYSQL随笔心得1

    cmd链接数据库命令: 输入密码进入 显示全部的数据库: 退出服务器连接,还有/p   quit 非关系型数据库:NOSQL,not only sql 不仅仅是SQL 代表:redis,mongodb

  3. [转]Java多线程

    一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点.掌握了上图中的各知识点,Java中的多线程也就基本上掌 ...

  4. 【JZOJ2679】跨时代

    description 钟逆时针而绕,恶物狰狞的倾巢,我谦卑安静地于城堡下的晚祷,压抑远古流窜的蛮荒暗号,而管风琴键高傲的说,那只是在徒劳.我的乐器在环绕,时代无法淘汰我霸气的皇朝. 你无法预言,因为 ...

  5. 下面分享一下RHEL/CentOS7 安装图形化桌面详细图解

    Linux是一个多任务的多用户的操作系统,好多linux爱好者在安装完linux后经常遇到一个问题——没有图形化桌面(http://www.xcmnyy.com)今天小编在安装RHEL7的时候,一步留 ...

  6. 0817NOIP模拟测试赛后总结

    吐槽一句:话说NOIP都取消了还叫NOIP模拟真的好么 于是乎我再次爆炸……(0+20+50=70 rank26) 赛时状态 赛时的状态依旧不佳.不过还是硬逼着自己把三道题都读完,然后开始对出题人静坐 ...

  7. js '' ""的嵌套使用

    1.我需要拼接一个字符串,但是其中 单引号内包含了双引号,双引号内又包含了单引号变量 这时我们想到了可以用到HTML特殊转义字符 2.如下拼接 return '<input type=" ...

  8. JAVA 垃圾回收读书笔记

    对象已死 在JAVA代码运行中,会不停的创建对象,因为内存空间不是无限的,Java虚拟机必须不停的回收无用的数据空间.那么虚拟机是怎么判断对象空间是需要被回收的呢,也就是怎么样的数据算是垃圾数据呢? ...

  9. duilib教程之duilib入门简明教程3.第一个程序 Hello World

    小伙伴们有点迫不及待了么,来看一看Hello World吧:新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #in ...

  10. Android基础控件ToggleButton和Switch开关按钮

    1.简介 ToggleButton和Switch都是开关按钮,只不过Switch要Android4.0之后才能使用! ToggleButton <!--checked 是否选择--> &l ...