• Ajax的请求规范(二)


    第一种方式:send()不带参数

    function doAjax(url,fnSucc,fnFaild)
    {
            //1.创建Ajax对象
         if (window.XMLHttpRequest) {//判断当前浏览器的是否包含XMLHttpRequest    
           var oAjax = new XMLHttpRequest();   
             //有此版本的Mozilla浏览器在处理服务器返回的包含XML mime-type头部信息内容时会出错。  
             //所以,为了确保返回内容是text/xml信息,需要包含下面的语句。  
             if(oAjax.overrideMimeType)  
             {  
                 oAjax.overrideMimeType("text/xml");  
             }  
          }    
          else //对于IE浏览器    
          {    
              //将IE的不同XMLHttp实现声明数组    
              var MSXML=new Array('Msxml2.XMLHTTP.7.0',  
                                  'Msxml2.XMLHTTP.6.0',  
                                  'Msxml2.XMLHTTP.5.0',   
                                  'Msxml2.XMLHTTP.4.0',   
                                  'MSXML2.XMLHTTP.3.0',   
                                  'MSXML2.XMLHTTP',   
                                  'Microsoft.XMLHTTP');     
              //依次对每个XMLHTTP实现创建XMLHttpRequest对象    
              for(var i=0; i<MSXML.length; i++)    
              {    
                  try    
                  {    
                   var oAjax=new ActiveXObject(MSXML[i]);   
                      break;    
                  }    
                  catch (ex) {    
                  }    
              }
          }
        //2.连接服务器true指异步
        oAjax.open("post",url,true);
        //3.发送
        oAjax.send();
        //4.接收
        oAjax.onreadystatechange=function (){
                if(oAjax.readyState==4){//请求响应是否结束
                            if(oAjax.status==200){//请求是否成功
                                            fnSucc(oAjax.responseText);//响应成文本形式接收
                                 }
                                else
                                {
                                            if(fnFaild){
                                                fnFaild(oAjax.status);//响应失败的原因
                                }            
                        }
                }
        }
    }

    第二种:Send()带请求信息

    var xmlHttp;
    
    function createXmlHttpRequest(){
        if (window.XMLHttpRequest) { //Mozilla 浏览器
            return new XMLHttpRequest();
        }
        else 
            if (window.ActiveXObject) { // IE浏览器
                try {
                    return new ActiveXObject("Msxml2.XMLHTTP");
                } 
                catch (e) {
                    try {
                        return new ActiveXObject("Microsoft.XMLHTTP");
                    } 
                    catch (e) {
                    }
                }
            }
    }
    
    function ajax(options){
        xmlHttp = createXmlHttpRequest();
        var url = options.url+"?timeStemp="+new Date().getTime();//加new Date().getTime()的原因,可以清理缓存,每次请求都会刷新
        xmlHttp.onreadystatechange=function(){
            if(xmlHttp.readyState==4){//是否响应成功
                if(xmlHttp.status==200){//http响应是否成功
                    options.Success(xmlHttp.responseText);//文本形式接收
                }
            }
        };
        xmlHttp.open("POST",url,true);
        xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
        xmlHttp.send(options.data);//刷新
    }

     我们使用send()带参数提交时,必须设置setRequestHeader。这样send()提交就类似于form表单提交。

    比如:

    用send()不带参数提交时  

    http://index.jsp?name=wp-》A

    用send("name=wp")带参数提交:

    http://index.jsp-》B

    A和B其实是等价的

    这是send("name=jack&age=11")

    这是send()

    Java小生店铺:

    Pc端:http://shop125970977.taobao.com/index.htm

    手机端:搜索 java小生店铺

    希望店铺的资料能帮助到你!!!

     

  • 相关阅读:
    iOS-Core-Animation-Advanced-Techniques(一)
    一个很有借鉴价值的编程故事
    11
    安卓学习路线
    weakSelf和strongSelf
    <二>iOS 开发Push的个人见解 图文并茂 详细到我写的想吐!!!!!!!!!
    <一>iOS 开发Push的个人见解 图文并茂 详细到我写的想吐!!!!!!!!!
    啊哈!算法 学习2 排序
    啊哈!算法 学习1 排序
    转载---CGImageSource对图像数据读取任务的抽象
  • 原文地址:https://www.cnblogs.com/lirenzhujiu/p/5915387.html
Copyright © 2020-2023  润新知