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官网

  • 相关阅读:
    网络通信过程
    路由表转发分析实例
    随机生成MAC地址和IP地址
    zabbix监控LAMP全教程
    linux ssh利用公钥免密登陆
    如果Mysql插入字符始终乱码怎么办?
    Windows 桌面利用 Navicat等工具连接 虚拟机Mysql
    pagefile.sys 虚拟内存
    linux常用命令---------------find
    当你使用Pycharm编译程序的时候,遇到了这个问题,该怎么办?please select a valid interpreter
  • 原文地址:https://www.cnblogs.com/wuting/p/9145845.html
Copyright © 2011-2022 走看看