调用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. Java爬取同花顺股票数据(附源码)

    最近有小伙伴问我能不能抓取同花顺的数据,最近股票行情还不错,想把数据抓下来自己分析分析.我大A股,大家都知道的,一个概念火了,相应的股票就都大涨. 如果能及时获取股票涨跌信息,那就能在刚开始火起来的时 ...

  2. 普通人如何站在时代风口学好AI?这是我看过最好的答案

    摘要:当前,数据.算法.算力的发展突破正推动AI应用的逐步落地. AI是什么? 根据维基百科的定义,人工智能是一种新的通用目的技术(GPT, General Purpose Technology),它 ...

  3. 集合与map

  4. Pytest学习(四) - fixture的使用

    前言 写这篇文章,整体还是比较坎坷的,我发现有知识断层,理解再整理写出来,还真的有些难. 作为java党硬磕Python,虽然对我而言是常事了(因为我比较爱折腾,哈哈),但这并不能影响我的热情. 执念 ...

  5. Hadoop1.0 和 Hadoop2.0

    date: 2018-11-16 18:54:37 updated: 2018-11-16 18:54:37 1.从Hadoop整体框架来说 1.1 Hadoop1.0即第一代Hadoop,由分布式存 ...

  6. openresty 的小白记录

    openresty提供了一个快速访问数据库,快速响应的功能.基于lua + redis,我们可以做到快速响应,达到10k级连接的处理能力. openresty 的小白记录 好的学习资料,从lua到op ...

  7. DOSbox简单运行操作

    打开DOSbox 先输入 mount c e:\dos    e:\dos 是我的电脑上DOSbox的安装位置,你们自己的电脑上位置不同,自己找找. 2.输入 c: ,再输入 masm 结果如下 : ...

  8. TypeScript魔法堂:函数类型声明其实很复杂

    前言 江湖有传"动态类型一时爽,代码重构火葬场",由于动态类型语言在开发时不受数据类型的约束,因此非常适合在项目原型阶段和初期进行快速迭代开发使用,这意味着项目未来将通过重写而非重 ...

  9. 论文解读 - Relational Pooling for Graph Representations

    1 简介 本文着眼于对Weisfeiler-Lehman算法(WL Test)和WL-GNN模型的分析,针对于WL测试以及WL-GNN所不能解决的环形跳跃连接图(circulant skip link ...

  10. Core WebApi项目快速入门(一):环境部署

    1.WebApi新建与部署 1.1 新建Core WebApi工程 1.2 部署 1.2.1 IIS部署 首先以文件方式发布应用程序,然后下载依赖.net core运行时及host安装包 在iis中看 ...