zoukankan      html  css  js  c++  java
  • jqueryAjax在客户端发送请求的方式

    get请求方式:

    $.get函数,发起一个get请求,

    //第一个参数是请求的url地址,

    //第二个参数是请求参数,可以是一个urlencode过的字符串,也可以是
    //一个对象,如果是对象jquery会自动把这个对象转为urlencode字符串

    //第三个参数是请求成功时的回调函数,这个函数有三个参数,第一个
    //参数res是请求返回的数据(jquery会自动判断数据类型,例如,如果
    //是json,则会自动将json解析为对象,如果是普通文本,则res就是
    //普通的字符串),第二个参数表示请求状态,和状态码对应。第三个参
    //数是jqeury加工之后的XHR对象(如果需要获得响应头中的数据等,
    //就需要通过XHR获得)。第二个和第三个参数通常不需要。

    //第四个参数表示请求的数据类型,这个参数通常不需要写,因为jquery
    //能够自动判断数据类型。

    $.get("/getAPI",{
    name:"huge",
    age:28
    },function(res,statusText,jqXHR){
    alert(res.msg);
    alert(statusText);
    alert(jqXHR.getAllResponseHeaders());
    //alert(jqXHR.getResponseHeader("Content-Length"));
    });

    post的请求方式:

    $.post("/postAPI",{
    name:"sun",
    age:10
    },function(res){
    alert(res.msg);
    });

    自定义请求类型的Ajax的请求方式:

    //$.ajax 是一个jquery底层函数,用于发送ajax请求,使用起来不
    //如.get和.post方便,但是功能全,能够设置请求的每一个细节。

    //$.ajax函数的参数是一个对象,对象中的属性用于配置本次请求。

    $.ajax({
    //请求类型
    type:"get",
    //请求地址
    url:"/getAPI",
    //请求是否异步,true就是异步,默认为true
    async:true,
    //设置期望服务器返回的数据类型(添加在请求头中)
    accepts:{
    data1:"text/json",
    data2:"application/json"
    },
    dataType:"json",
    //请求发送之前执行的回调函数,常用于设置请求头内容
    beforeSend:function(jqXHR){
    console.log("请求将要发送");
    jqXHR.setRequestHeader("sunhuayu","28");
    },
    //本次请求是否缓存,如果对请求缓存,那么下次再请求这个url时,
    //就不会再发起请求,而是用之前的缓存数据作为请求数据。
    cache:false,
    //设置请求的所有回调函数中的上下文,简单的说就是这只回调函数
    //中this指针指向的对象是谁。设置为window后,将来回调函数调用
    //时,其中的this就是window。
    context:window,
    //设置本次请求的参数,如果是一个对象或数组,则会自动转为
    //urlencode字符串。
    data:{
    name:"sunhuayu",
    age:8
    },
    //请求数据返回时,请求成功回调函数执行之前,对请求数据的一个
    //预处理函数,通常在这个函数中进行解析,函数的返回值会交给
    //jquery进一步处理(当做res交给success函数)。
    dataFilter:function(data,type){
    console.log("请求收到数据了,这是数据预处理函数,在请求成功之前调用,得到的数据是"+data+",类型是"+type);
    return data;
    },
    //请求失败时的回调函数。
    error:function(jqXHR,textStatus){
    console.log("请求失败,原因:"+textStatus);
    },
    //本次请求是否触发全局ajax事件。
    global:true,
    //设置请求头,会覆盖掉beforSend中设置的相同键。
    headers:{
    student:"sunhuayu"
    },
    //请求成功时的回调函数,效果同$.get函数的回调函数。
    success:function(res,textStatus,jqXHR){
    alert("请求成功,数据为:"+res.msg);
    },
    //设置本次请求的超时时间限制。(请求发起后,10秒之内还没有
    //请求完成,就作为请求失败处理)
    timeout:3*1000

    });

    其中的有些参数设置根据自己的需要进行改变。

  • 相关阅读:
    安装配置ssh免密码登录
    大数据学习之Linux环境搭建(导航)
    Linux下搭建sqli-labs环境
    SpringMVC freemarker 中 Could not resolve view with name 'XXX.ftl' in servlet with name 'SpringMVC'
    配置FreeMarker时IDEA提示cannot resolve property 'templateLoaderPath'
    MySQL在指定字段后添加一个新字段
    META-INF/MANIFEST.MF file not found in unnamed.war
    Java获取音频播放时长
    JS实现阿拉伯数字转韩文
    微信公众号开发-素材管理-调用接口返回结果一览表
  • 原文地址:https://www.cnblogs.com/0828-li/p/5705186.html
Copyright © 2011-2022 走看看