原生javascript包装一个ajax方法
调用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方法的更多相关文章
- Javascript:来一个AJAX封装函数
前不久换工作了,最近一直在出差,忙得跟狗一样,所以博客都荒废许久了. 最近的工作中涉及到大量的ajax操作,本来该后台做的事也要我来做了.而现在使用的ajax函数是一个后台人员封装的—-但他又是基于 ...
- 类似jQuery的原生JS封装的ajax方法
一,前言: 前文,我们介绍了ajax的原理和核心内容,主要讲的是ajax从前端到后端的数据传递的整个过程. Ajax工作原理和原生JS的ajax封装 真正的核心就是这段代码: var xhr = ne ...
- javascript 写一个ajax 自动拦截,并下载数据
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- 用原生js实现一个new方法
首先写一个父类方法(包含参数name,age): function Person(name,age){ this.name = name; this.age = age; } new一个Person的 ...
- 原生JavaScript下的Ajax
概述 AJAX即asynchronous javascript and XML,中文翻译是异步的javascript和XML.是指一种创建交互式网页应用.用于创建快速动态网页的开发技术. 传统的网页( ...
- 原生javaScript中使用Ajax实现异步通信
AJAX本质就是在HTTP协议的基础上以异步的方式与服务器进行通信,所谓异步,就是指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则为同步. 以下开始简单 ...
- 在JavaScript文件中用ajax方法实现省市区的三级联动
1.JavaScript Document $(document).ready(function(e) { 加载三个下拉列表 $("#sanji").html("< ...
- Ajax--Ajax基于原生javascript:创建Ajax对象、链接服务器、发送请求、接受响应结果
Ajax概述 异步:指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则为同步. 同步请求: 请求是由浏览器发送 页面会刷新 异步请求: 请求是由浏览器的一 ...
- 使用原生JS封装一个ajax
function ajax(data){ //第一步,创建XHR对象 var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpReque ...
随机推荐
- ps命令没有显示路径找到命令真实路径
top发现某程序占用大量资源,但ps查看看不到程序真实路径,查找真实路径. ps aux |grep COMMAND 找到PID ls /proc/ 里边有很多数字文件夹,找到PID相应的文件夹进去看 ...
- 论文学习笔记 - Classifification of Hyperspectral and LiDAR Data Using Coupled CNNs
Classifification of Hyperspectral and LiDAR Data Using Coupled CNNs 来源:IEEE TGRS 2020 下载:https://arx ...
- Linux操作系统的介绍和安装教程(Centos6.4)
路漫漫其修远兮,吾将上下而求 Linux的简单介绍 Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds开发的,由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人 ...
- 记2020年初对SimpleGUI源码的阅读成果
2020春节,阅读了下SimpleGUI源码,我一直喜欢边阅读,边手绘图片,所以这里只贴几张图片. 一,什么是SimpleGUI ? https://gitee.com/Polarix/simpleg ...
- 如何将Nginx注册为系统服务,开机自启动。
亲测有效! 一般程序员在实际工作中,除了敲代码,很少有机会实际接触操作其它东西,例如服务器环境搭建,项目部署等等,不是领导信任或项目组核心成员,应该是没有机会实际接触的,只能通过网上资料稍微了解一下. ...
- servlet post response.sendRedirect 乱码
response.sendRedircet一般用于传递字符串参数 常会出现乱码: 情景1: post表单提交,跳转后的servlet,通过getParameter(name)进行解码,获取的中文乱码 ...
- mongodb 数据操作CRUD
链接到mongo 新建超级用户 上文中我们提到mongo用户库表管理.为了方便我们先新建一个root权限的用户. db.createUser({user:'dbadmin',pwd:'123456', ...
- http与https随笔
http: 超文本传输协议.使用TCP/IP协议 https: 安全超文本传输协议.使用TLS/SSL协议 不同: 1.安全 http是明文传输.http是具有安全性的SSL加密传输协议. https ...
- WinSocket01
启动windows平台下的Socket 1 #define WIN32_LEAN_AND_MEAN 2 #include<windows.h> 3 #include<WinSock2 ...
- codefroces中的病毒,这题有很深的trick,你能解开吗?
大家好,欢迎阅读周末codeforces专题. 我们今天选择的问题是contest 1419的C题,目前有接近8000的人通过了本题.今天这题的难度不大,但是真的很考验思维,一不小心就会踩中陷阱,我个 ...