调用AJAX

 1 <script type="text/javascript" src="ajax.js"></script>
2 <script type="text/javascript">
3 //调用包装好的ajax方法
4 ajax({
5 method : "get",
6 url : "get.php",
7 asyn : true,
8 data : "user=zym&password=1234",
9 fn : function( res ){
10 console.log( res );
11 }
12 });
13 </script>

打包好的ajax方法函数:

 1 function ajax( myJson ){
2 //新建ajax对象
3 var xhr = null;
4 window.XMLHttpRequest?(xhr=new XMLHttpRequest()):(xhr=new ActiveXObject("Microsoft.XMLHTTP"));
5 //定义数据传输方法“get”或“post”,如果没有写,那么默认的是用“get”方法!
6 var method = myJson.method||"get";
7 //定义数据传输的地址!
8 var url = myJson.url;
9 //定义数据加载方式(同步或异步),默认的情况下,使用ajax,都是异步加载!
10 var asyn = myJson.asyn||true;
11 //定义传输的具体数据!
12 var data = myJson.data;
13 //成功之后执行的方法!
14 var fn = myJson.fn;
15 //第一种情况:如果是用get方法,并且data是存在的,就执行:
16 if(method=="get"&&data){
17 xhr.open(method,url+"?"+data+"&"+Math.random(),asyn);
18 }
19 //第二种情况:如果是用post方法,并且data是存在的,就执行:
20 if(method=="post"&&data){
21 xhr.open(method,url,asyn);
22 xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
23 xhr.send(data);
24 }else{
25 xhr.send();
26 }
27 //数据传输成功之后
28 xhr.onreadystatechange=function(){
29 if(xhr.readyState==4){
30 if(xhr.status>=200&&xhr.status<300){
31 fn(xhr.responseText);
32 }else{
33 alert("程序出错!");
34 }
35 }
36 }
37 }

原生javascript包装一个ajax方法的更多相关文章

  1. Javascript:来一个AJAX封装函数

    前不久换工作了,最近一直在出差,忙得跟狗一样,所以博客都荒废许久了. 最近的工作中涉及到大量的ajax操作,本来该后台做的事也要我来做了.而现在使用的ajax函数是一个后台人员封装的—-但他又是基于 ...

  2. 类似jQuery的原生JS封装的ajax方法

    一,前言: 前文,我们介绍了ajax的原理和核心内容,主要讲的是ajax从前端到后端的数据传递的整个过程. Ajax工作原理和原生JS的ajax封装 真正的核心就是这段代码: var xhr = ne ...

  3. javascript 写一个ajax 自动拦截,并下载数据

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  4. 用原生js实现一个new方法

    首先写一个父类方法(包含参数name,age): function Person(name,age){ this.name = name; this.age = age; } new一个Person的 ...

  5. 原生JavaScript下的Ajax

    概述 AJAX即asynchronous javascript and XML,中文翻译是异步的javascript和XML.是指一种创建交互式网页应用.用于创建快速动态网页的开发技术. 传统的网页( ...

  6. 原生javaScript中使用Ajax实现异步通信

    AJAX本质就是在HTTP协议的基础上以异步的方式与服务器进行通信,所谓异步,就是指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则为同步. 以下开始简单 ...

  7. 在JavaScript文件中用ajax方法实现省市区的三级联动

    1.JavaScript Document $(document).ready(function(e) { 加载三个下拉列表 $("#sanji").html("< ...

  8. Ajax--Ajax基于原生javascript:创建Ajax对象、链接服务器、发送请求、接受响应结果

    Ajax概述 异步:指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则为同步. 同步请求: 请求是由浏览器发送 页面会刷新 异步请求: 请求是由浏览器的一 ...

  9. 使用原生JS封装一个ajax

    function ajax(data){ //第一步,创建XHR对象 var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpReque ...

随机推荐

  1. 第二十一章 PHP编译安装(centos7)

    一.环境准备 主机 IP 身份 web01 10.0.0.7 编译安装PHP 二.准备安装 1.新建目录 [root@jindada ~]# mkdir /php 2.上传源码包并解压 [root@j ...

  2. CentOS 网卡固定地址配置

    修改4个文件后重启网卡 vim /etc/default/grub GRUB_CMDLINE_LINUX="resume=UUID=05dbb36b-dbba-40a3-ba99-1b044 ...

  3. Django采坑日志(django2.0)

    使用Mariadb时出现的问题 "Unknown system variable 'transaction_isolation'" 解决办法:修改django/db/backend ...

  4. Error in mounted hook: "TypeError: handlers[i].call is not a function" 原因

    Error in mounted hook: "TypeError: handlers[i].call is not a function" 百度翻译 安装钩子中的错误:" ...

  5. 【4】TensorFlow光速入门-保存模型及加载模型并使用

    本文地址:https://www.cnblogs.com/tujia/p/13862360.html 系列文章: [0]TensorFlow光速入门-序 [1]TensorFlow光速入门-tenso ...

  6. Redis学习笔记(一)——安装Redis

    一.概述  Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日执行.Key-Value数据库,并提供多种语言的API. Redis是完全开源免费的,遵守BSD协议,是一 ...

  7. CodeForces 1067E Random Forest Rank

    题意 给定一棵 \(n\) 个节点的树,每条边有 \(\frac{1}{2}\) 的概率出现,这样会得出一个森林,求这个森林的邻接矩阵 \(A\) 的秩 \(\operatorname{rank} A ...

  8. 在PLC中开关量采集模块的作用

    PLC系统作为工业控制的基础设备在如今的现代化工厂应用中已经非常的广泛.许多工厂应用中,都需要对现场采集来的脉冲信号进行计数统计.如果是使用专用脉冲计数模块的话,价格会非常的昂贵,在很多采集低速脉冲信 ...

  9. Jmeter CSV数据文件设置使用之一

    第一步: 在Jmeter 里,新建CSV数据文件设置,选择对应的文件,变量名称根据需要自己取,如bug,test,如下图所示: 第二步: 配置Jmetet 数据源,参数对应的名称要与CSV数据文件设置 ...

  10. 使用 IDEA 查看 JDK8 源码

    使用 idea 查看 oracle jdk 8 源码时发现 Unsafe 没有源码. 解决方法: 到 openjdk-8 下载页面:http://jdk.java.net/java-se-ri/8-M ...