原生JS操作AJAX
1,get方式的AJAX
- function sendAjaxReq()
- {
- //1,创建ajax引擎 XMLHttpRequest对象
- var req = new XMLHttpRequest() || new ActiveXObject("Msxm12.XMLHTTP");
- //2,打开一个请求,此时未发送请求,定义好发送请求的方式以及是否需要携带数据 是否同步异步
- req.open("get", "testAjax?phone=iphone&apple=pen");
- //3,准备好处理服务器返回的数据
- req.onreadystatechange = function()
- {
- if(req.readyState == 4)
- {
- //返回json数据的解析格式
- var str = req.responseText;
- eval("var obj=" + str);
- alert(obj.name);
- //返回xml的解析格式
- var data = req.reponseXML.getElementsByTagName("bigName")[0].first(child.data);
- }
- }
- //4,发送请求,如果是在火狐下,使用get方式发送ajax请求,send的时候括号写上null
- req.send(null);
- }
2,post方式AJAX
- //使用post传参,需要携带一个请求头模拟表单提交
- function sendAjax()
- {
- var request = new XMLHttpRequest() || new ActiveXObject("Msxm12.XMLHTTP");
- request.open("post", "testAjax?phone=1", true)
- request.onreadystatechange = function()
- {
- if(request.readyState == 4)
- {
- if(request.status == 200)
- {
- var str = request.responseText;
- alert(str);
- }
- else if(request.status == 404)
- {
- alert("找不到资源");
- }
- }
- }
- request.setRequestHeader("content-type", "application/x-www-form-urlencoded")
- request.send("phone=");
- }
3,封装了get和post的AJAX
- function sendAjaxReq(method,url,param,fun200,fun404,fun500)
- {
- var req;
- if(window.XMLHttpRequest)
- {
- req = new XMLHttpRequest();
- }
- else if(window.ActiveXObject)
- {
- req = new ActiveXObject("Msxml2.XMLHTTP");
- }
- req.open(method,url);
- req.onreadystatechange = function()
- {
- if(req.readyState == 4)
- {
- if(req.status == 200)
- {
- if(fun200)
- {
- fun200(req.responseText);
- }
- }
- else if(req.status == 404)
- {
- if(fun404)
- {
- fun404();
- }
- }
- else if(req.status == 500)
- {
- if(fun500)
- {
- fun500();
- }
- }
- }
- }
- if(method.toUpperCase() == "GET")
- {
- req.send(null);
- }
- else if(method.toUpperCase() == "POST")
- {
- req.setRequestHeader("context-type", "application/x-www-form-urlencoded");
- req.send(param);
- }
- }
- function testAjax()
- {
- sendAjaxReq("get","ajaxServlet?uname=1&password=2",null,function(data)
- {
- eval("var obj="+data);
- alert(obj.data);
- });
- }
原生JS操作AJAX的更多相关文章
- 原生js实现Ajax
一般来说,大家可能都会习惯用JQuery提供的Ajax方法,但是用原生的js怎么去实现Ajax方法呢? JQuery提供的Ajax方法: $.ajax({ url: , type: '', dataT ...
- 框架操作DOM和原生js操作DOM比较
问题引出 对于Angular和React操作DOM的速度,和原生js操作DOM的速度进行了一个比较: 一个同学做的demo 代码如下: <!DOCTYPE html> <html n ...
- 原生JS实现Ajax及Ajax的跨域请求
前 言 如今,从事前端方面的程序猿们,如果,不懂一些前后台的数据交互方面的知识的话,估计都不太好意思说自己是程序猿.当然,如今有着许多的框架,都有相对应的前后台数据交互的方法. ...
- 原生JS的Ajax技术
1.同步和异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡 ...
- 用原生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封装
一.什么是ajax? 定义:Ajax(Asynchronous Java and XML的缩写)是一种异步请求数据的web开发技术,在不需要重新刷新页面的情况下,Ajax 通过异步请求加载后台数据,并 ...
- [javascript]原生js实现Ajax
一.首先看JQuery提供的Ajax方法: $.ajax({ url: , type: '', dataType: '', data: { }, success: function(){ }, err ...
- 使用原生js写ajax
// 使用原生js 封装ajax // 兼容xhr对象 function createXHR(){ if(typeof XMLHttpRequest != "undefined") ...
随机推荐
- 基础回顾—list遍历4种
()for each for(bject o :list) { } [java] view plain copy ()Iterator Iterator iter = list.iterator(); ...
- hdu1540 Tunnel Warfare【线段树】
During the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast a ...
- MapReduce计算之——hadoop中的Hello World
1. 启动集群 2. 创建input路径(有关hadoop 的命令用 "hadoop fs"),input路径并不能在系统中查找到,可以使用 “hadoop fs -ls /” ...
- 如何将Win10 的环境变量页面设置用在win7上面?
如何将Win10 的环境变量设置用在win7上面? Win7一般是如下设置: Win10 是如下设置: 解决办法: 注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr ...
- hdu-4283 You Are the One 区间dp,
题意:n个人排队上台,每个人有一屌丝值D,他的不满意值=D*(k-1)(k为他前面的总人数). 求整个队列不满意值之和的最小值.你只有一个操作,就是把队首的人塞进小黑屋,也就是压入栈中,后面的人就被提 ...
- date 命令之日期和秒数转换
时间转为秒数 date -d "2012-11-12 13:00:00" +"%s" 描述转为日期 date -d@1352692800 +"%Y-% ...
- initrd和initramfs的区别
Linux内核在初始化之后会执行init进程,而init进程会挂载我们的根文件系统,但由于init程序也是在根文件系统上的,所以这就有了悖论.Linux采用两步走的方法来解决这个问题.Linux2 ...
- 2018/03/09 每日一学PHP 之 require_once require include include_once 包含文件的区别
require_once require include include_once 方法的区别 对于包含文件来说,如果只是使用框架来说的话,应该会很少碰到,因为框架底层对于文件的引用等做了很好的封装, ...
- (3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest【待完善】
(3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢 ...
- shell_exec() has been disabled for security reasons错误怎么解决?
ytkah在用composer安装插件时出现了shell_exec() has been disabled for security reasons错误提示,这个是php配置的问题,shell_exe ...