zoukankan      html  css  js  c++  java
  • ajax请求方法

    ajax请求:

    1、这里介绍下原生方法:

    get方法:
        function getMethod(){
            var xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function(){
                if(xhr.readystate == 4){
                    if((xhr.status >=200)&&(xhr.status < 300) || xhr.status == 304){
                        console.log(responseText);
                    } else {
                        console.log('request was unsuccessful: '+ xhr.status);
                    }
                }
            };
            xhr.open('get','test.php',false);
            xhr.send(null);
        }
    
    post方法:
        function postMethod(){
            var xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function(){
                if(xhr.readystate == 4){
                    if((xhr.status == 200)&&(xhr.status < 300)||(xhr.status == 304)){
                        console.log(responseText);
                    } else {
                        console.log('request was unsuccessful: '+ xhr.status);
                    }
                }
            };
            xhr.open('post','test.php',true);
            xhr.send([text]); // text可有可无
        }
        

    open('method',url,boolean);
      method方法常见为两种:get 和 post,两者区别这里不再讲述;
      url:请求的路径
      boolean:布尔值,false为同步请求,此时js代码会等待服务器响应之后再继续执行;true为异步请求,js继续执行而不必等待响应;

    xhr对象的readystate属性,检测当前活动阶段,readystate有4个取值:
      0:未初始化,尚未调用open方法;
      1:启动,已调用open方法,但尚未调用send方法;
      2:发送,已调用send方法,但尚未接收到响应;
      3:接收,已经接收到部分响应数据;
      4:完成,已经接收到全部响应数据,且可以在客户端使用了;


    xhr的其它常用属性:
      responseText: 作为响应主体被返回的文本;
      status:响应的http状态
      statusText: Http状态的说明
      responseXML:若响应的内容类型是‘text/xml’或‘application/xml’,这个属性中将保存包含着响应数据的xml dom文档;

    2、jquery中方法

       第一种写法: $.ajax({
                        type: 'post',
                        dataType: 'json',
                        url: '',
                        data: {
                        },
                        success: function(){},
                        error: function(){}
                   });
    第二种写法:$.ajax({ type:
    'post', dataType: 'json', url: '', data: {}, async: false }).done(function(resp){ console.log(resp); // 相当于第一种的success }).fail(function(){ //相当于第一种的error });
    第三种写法: $.ajax({ type:
    'post', dataType: 'json', data: {}, url: '', async: false // 默认是true,异步 }).then(function(resolve,reject){ // then 方法组合了done和fail方法; });

    以上后两种jQuery的ajax方法,对jQuery版本有要求,具体可参考jQuery官网

  • 相关阅读:
    forkjoinpool
    json path
    如何处理json字符串
    ios如何快速转型安卓开发-专题3
    ios如何快速转型安卓开发-专题1
    framework创建及接入方式
    Cocoapods包管理
    cf 1102 B
    夜深人静写题解--杭电第五场
    夜深人静写题解--牛客第六场
  • 原文地址:https://www.cnblogs.com/wuting/p/9145845.html
Copyright © 2011-2022 走看看