$.ajax()的初步认识

对于前后端的数据交互,使用ajax是最常见的技术。ajax的核心是在前后端进行通信的时候会返回一个对象XMLHttpRequest,IEl浏览器下是ActiveXObject对象。

ajax的核心参数如下:

type:string(“get”和“post”类型);

async:boolean;(是否异步);

dataType:string;(请求的数据类型)

会有以下几种数据类型:

  •  “xml”(返回的数据类型XML 文档);
  •  “html”(返回的HTML文档);
  •  “script”(返回纯文本的JavaScript代码,默认不自动缓存,需要设置ceche参数);
  •  “json”(返回的json 数据,最常用的一种);
  •  “jsonp”(格式为jsonp的数据);
  •  “text”(纯文本数据)。

data:(发送到服务器端的数据,必须以key/value的形式编写);

url:string(发送请求的地址(服务器端地址),默认是当前页);

success:function(数据返回成功后执行的函数);

error:function(服务器数据返回失败后执行的函数);

timeout:number(请求超时的时间);

dataFilter:function(处理创建的XMLHttpRequest对象);

context:object(指定回调函数内执行的this对象,不声明的话this指向调用本次 AJAX 请求时的对象);

global:boolean(是否触发全局 AJAX 事件。默认值: true);

ifModified:boolean(仅在服务器端数据改变的时候发起请求,默认是false);

jsonp:String(在一个 jsonp 中重写回调函数的字符串);

jsonpCallback:String(在一个jsonp规定函数名称);

password:string(用于响应 HTTP 访问认证请求的密码);

username:string(用于响应 HTTP 访问认证请求的用户名);

xhr:function(用于重写一个XMLHttpRequest对象);

traditional:boolean(传统方式序列化数据);

scriptCharset:string(规定请求的内容编码);

complete:function(请求完成后调用的函数,不管是success还是error);

beforeSend:function(请求之前执行的函数,修改XMLHttpRequest);

cache:boolean(缓存被请求的页面,默认是true);

下面是一个简单的ajax例子:

    //下单查询
    function quaryTask(){
        var taskId=$("#task_number").val();
        var beginTime=$("#beginTime").val();
        var endTime=$("#endTime").val();
        $.ajax({
            type:'post',
            dataType:'json',
            //向服务器请求的url
            url:'',
            async:true,
            //发送到服务器的数据
            data:{
                api:"",//请求的api接口
                usr:"", 
                pwd:"",
                id:taskId,
                beginTime:beginTime,
                endTime:endTime
            },
            //查询成功后返回的回调函数
            success:function(Result){
                if(Result){
                    var result=JSON.parse(Result);
                    if(result.success){
                        var data=result.data
                    }else{
                        mui.alert("数据有误")
                    }
                }else{
                    mui.alert("数据有误")
                }
            }
        });
    };

                            

原文地址:https://www.cnblogs.com/missmz/p/6836897.html