文档章节

Ajax兼容处理+发送请求+接收返回信息

PHer
 PHer
发布于 2014/06/19 10:40
字数 371
阅读 17
收藏 0

针对不同的浏览器,Ajax对象的创建方式也是不同的,对于IE5 IE6 创建AJAX的方式和 IE7 主流浏览器都是不同的.

在创建ajax对象的时候,我们需要做一下兼容处理

老版本IE6,IE5,主流浏览器JAJAX兼容处理

<script>
    function CompatiableAjax(){
                    var obj=null;
                    if(window.ActiveXObject){
                            obj = new ActiveXObject("Microsoft.XMLHTTP");
                    }else{
                            obj = new XMLHttpRequest();
                    }
                    return obj;
            }
            var ajx = CompatiableAjax();
</script>

open(type,addr,method):通过某种放打开一个连接服务器的通道,使用http协议来完成。采用同步或异步的方式 

ajx.open('get','./02.php');

send:post方式打开的连接通道。

get方式发送数据和接收服务器返回数据

        

<script type="text/javascript">
    function CompatiableAjax(){
                    var obj=null;
                    if(window.ActiveXObject){
                            obj = new ActiveXObject("Microsoft.XMLHTTP");
                    }else{
                            obj = new XMLHttpRequest();
                    }
                    return obj;
            }
    function f2(){
        var xmlhttp = CompatiableAjax();
        xmlhttp.open('get','./02.php');
        xmlhttp.send(null);
        //根据ajax状态获取返回数据
        xmlhttp.onreadystatechange=function(){
            if(xmlhttp.readyState==4 && xmlhttp.status==200){
                    //接收返回数据
                  var messayreturn=xmlhttp.responseText;
            }
        }
    }
</script>

  POST方式发送数据和接收服务器返回数据

 <script type="text/javascript">
            function CompatiableAjax(){
                    var obj=null;
                    if(window.ActiveXObject){
                            obj = new ActiveXObject("Microsoft.XMLHTTP");
                    }else{
                            obj = new XMLHttpRequest();
                    }
                    return obj;
            }
            function f2(){
                var ajx = CompatiableAjax();    
                var usr ="cat";
                var data ="name="+usr;
            //    alert(data);
            
                ajx.open('post','./02.php');
                ajx.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                ajx.send(data);
                ajx.onreadystatechange=function(){
                        if(ajx.readyState==4 && ajx.status ==200){
                        console.log(ajx.responseText);
                        }            
                }    
            }
  </script>

POST发送的数据格式,变量用&符隔开

$data ="name="+alis+"&age="+24;

POST和GET方式可以同时发送。相互之间不影响,即使POST设置了头协议,也跟GET毫无关系。


© 著作权归作者所有

共有 人打赏支持
PHer
粉丝 4
博文 121
码字总数 38443
作品 0
成都
程序员
Ajax里的 XMLHttpRequest对象

XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始。 了解XMLHttpRequest 对象就先从创建XMLHttpRequest 对象开始,在不同的浏览器中创建XMLHttpRequ...

颜凤娇
2014/01/08
0
0
再也不学AJAX了!(二)使用AJAX

在上一篇文章中我们知道,AJAX是一系列技术的统称。在本篇中我们将更进一步,详细解释如何使用Ajax技术在项目中获取数据。而为了解释清楚,我们首先要搞清楚我们是从哪里获取数据的,其次我们...

LiBin
2017/12/01
0
0
【初窥javascript奥秘之Ajax】简述下你所知道的Ajax?

前言 ajax已经流行很多年了,现在来说它是否已经晚了呢???特别是有这样框架那样框架后,还有几个人认识原生ajax呢?我们每天都会用到的东西你到底对他了解吗? 在最近一次面试上不幸被问到...

范大脚脚
2017/12/14
0
0
Ajax的原理和应用(给公司做所的培训)

在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景、原理、优缺点等各个方面都很少涉及null。这次写这篇文章的背景是因为公司需要对内部程序员做一...

韩金星
2013/06/15
0
0
第108天:Ajax中XMLHttpRequest详解

在Ajax应用程序中,XmlHttpRequest对象负责将用户信息以异步通信地发送到服务器端,并接收服务器返回的响应信息和数据。 XMLHttpRequest可以提供不重新加载页面的情况下更新网页,在页面加载...

半指温柔乐
2017/12/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Minifilter的动态安装、加载及卸载

MINIFILTER框架的文件系统过滤驱动,无法使用的CreateService和OpenService进行动态加载。 看了一下,使用Inf文件安装Minifilter驱动的方式是在注册表驱动服务项下比传统驱动多创建了Instanc...

simpower
21分钟前
1
0
idea新建springCloud项目(6)- Config Server使用

1.在IDEA新建springCloud项目-Config Server 修改版本,和之前建的eureka项目版本一致,修改完记得刷新: 删除掉不需要的文件: 2.把Config S 服务注册到eureka上去,配置git地址,启动项目 ...

monroeCode
27分钟前
3
0
大数据可视化项目开发总纲

第1章 开发文档总纲 1.1 开发工具清单 名称 版本 备注 Pentaho-bi server pentaho-server-ce-7.1 Pentaho Cde为其内置工具 Pentaho-prd pentaho-prd-ce-7.1 Pentaho Report Designer报表工具...

ZhangLG
27分钟前
2
0
pip安装超时问题

pip3 install --default-timeout=100 tensorflow 设置为100秒 参考: User Guide How to solve ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443) with pip?......

亚林瓜子
29分钟前
1
0
fragment 旋转时保持当前实例

设备旋转时保存Fragment的交互状态: setRetainInstance(true);

zdglf
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部