原生JS的Ajax
转自:https://www.cnblogs.com/yufann/p/JS-Ajax.html
1.创建一个Ajax对象
非IE6浏览器:var obj = new XMLHttpReuqest();
IE6浏览器:var obj = new ActiveXbject("Microsoft.XMLHTTP");
2.连接到服务器
obj.open(请求方式,url,是否异步)
阻止缓存方式:
obj.open('get','yan.txt?name='+new Date().getTime(),true);
3.发送请求
obj.send();
4.接收返回值
请求状态监控:onreadystatechange事件:当自己的Ajax与服务器之间有通讯时触发
主要通过readyState属性来判断有没有结束,结束了也并没有成功,status属性来判断
1.----readyState属性:请求状态
0(未初始化)还没有调用send()方法
1(载入)已经调用了send()方法,正在发送请求
2(载入完成)send()方法执行完成,已经接收到全部响应内容
3(交互)正在解析响应内容
4(完成)响应内容解析完成,可以在客户端调用了(完成不一定成功,需要status来检测是否成功)
2.---status属性:请求结果,是成功(200)还是失败(404):obj.status==200
3.---返回值responseText:从服务器返回的文本:obj.responseText(返回的为字符串)
GET方式
function getAjax(){
var obj;
if(ActiveXObject)//判断是否是IE6
obj = new ActiveXObject("Microsoft.XMLHTTP");
else
obj = new XMLHttpRequest();
//连接服务器
obj.open('get','http://localhost:8080/yan.ashx?name=123',true);
//发送请求
obj.send();
obj.onreadystatechange=function(){
if(obj.readyState===4&&obj.status===200)//如果接收完成并且请求成功
console.log(obj.responseText);//输出返回信息
}
}
POST方式
function postAjax(){
var obj;
if(ActiveXObject)//判断是否是IE6
obj = new ActiveXObject('Microsoft.XMLHTTP');
else
obj =new XMLHttpRequest();
//连接服务器
obj.open('post','http://localhost:8080/yan.ashx?name=123',true);
//设置头信息
obj.setRequestHeader('Content-type','application/x-www-form-urlencoded');
//发送请求,传递数据
obj.send({name:'123'});
obj.onreadystatechange = function(){
if(obj.readyState===4&&obj.status===200)//如果接收完成并且请求成功
console.log(obj.responseText);//输出返回信息
}
}
原生JS的Ajax的更多相关文章
- 原生js实现Ajax
一般来说,大家可能都会习惯用JQuery提供的Ajax方法,但是用原生的js怎么去实现Ajax方法呢? JQuery提供的Ajax方法: $.ajax({ url: , type: '', dataT ...
- 使用原生js写ajax
// 使用原生js 封装ajax // 兼容xhr对象 function createXHR(){ if(typeof XMLHttpRequest != "undefined") ...
- 表单验证--通过原生js模仿ajax的异步交互
今天给大家带来个福利,我也是刚刚学习的很实用的一个东西,通过原生js模仿ajax的异步交互. 我的博客只是给那些新手看的大神勿喷,写的不好可留言,请指出. 因为当初自己学的时候一个问题不会找人问,知道 ...
- 原生JS实现Ajax及Ajax的跨域请求
前 言 如今,从事前端方面的程序猿们,如果,不懂一些前后台的数据交互方面的知识的话,估计都不太好意思说自己是程序猿.当然,如今有着许多的框架,都有相对应的前后台数据交互的方法. ...
- 原生JS的Ajax技术
1.同步和异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡 ...
- 原生js中用Ajax进行get传参
原生js中用Ajax进行get传参 案例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...
- 原生js实现ajax与jquery的ajax库,及json
这是一篇笔记博客, Ajax: 和服务器进行数据交换(异步) 用js实现复杂的原理:用于发送请求的对象在不同的浏览器中是不同的 同源策略:ajax发送请求的url地址与服务器地址必须是同一域名,协议, ...
- 用原生js实现ajax、jsonp
转载: http://www.cnblogs.com/yangheng/p/6065910.html 一.原生js实现ajax $.ajax({ url: '', type: 'post', data ...
- 原生JS实现ajax 发送post请求
1. [代码]原生JS实现ajax 发送post请求 <script> var oStr = ''; var postData = {}; var oAjax = null; //post ...
- 原生js写Ajax
//原生js写ajax就像打电话 //打电话分下面4步//1.拿出手机//2.拨号//3.说话//4.挺对方说话 //ajax也分下面4步//1.创建ajax对象//2.连接到服务器//3.发送请求( ...
随机推荐
- web前端-----jQuery
web前端之jQuery篇 一 jQuery是什么? [1] jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. [2] j ...
- 激光相机数据融合(5)--Gazebo仿真数据融合
这一节将用ROS+Gazebo 环境获取激光获取点云,并用PCL和OPENCV处理,源代码在:https://github.com/ZouCheng321/5_laser_camera_sim 由于激 ...
- java线程相关
java线程相关 java 线程 1 线程的状态 This is an example of UML protocol state machine diagram showing thread sta ...
- C# winform 实现图片轮播
作为一个C#winform刚刚入门的我 觉得这可能是初学者都会遇到的 我自己也觉得很神奇 首先 窗体里有一个Button按钮,和一个pictureBox 图片框 定义一个线程方法 /// < ...
- 前端worker之web worker
web worker 背景 众所周知javascript是单线程的,同一时间内只能做一件事情. 这是十分必要的,设想,如果js是多线程的.有个dom元素两个线程同时做了改变,一个display:non ...
- 《java.util.concurrent 包源码阅读》09 线程池系列之介绍篇
concurrent包中Executor接口的主要类的关系图如下: Executor接口非常单一,就是执行一个Runnable的命令. public interface Executor { void ...
- Android开发之漫漫长途 Ⅵ——图解Android事件分发机制(深入底层源码)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- CSS以图换字的9种方法
前面的话 CSS以图换字的技术,很久都没人提起了.它是一种在h1标签内,使用图像替换文本元素的技术,使页面在设计和可访问性之间达到平衡.本文将详细介绍CSS以图换字的9种方法 文字隐藏 在h1标签中, ...
- 【转】用systemJS+karma+Jasmine+babel环境去编写简单的ES6工程
原文链接:http://www.cnblogs.com/shuoer/p/7779131.html 用systemJS+karma+Jasmine+babel环境去编写简单的ES6工程 首先解释下什么 ...
- DC 辅域转主域
DC 辅域转主域 #dc2辅域 角色转移为主域 #查看 netdom query fsmo ntdsutil roles connections #连接主机dc2 connect to server ...