详解 $.ajax({属性:参数,}) ;

**.js

function checkQRCodeIfExist(fpdm1,fphm1,je,kprq){    
    var params={fpdm:fpdm1,fphm:fphm1};//或var params={"fpdm":fpdm1,"fphm":fphm1},
    var temp;
    $.ajax({
        type:'post',      
        url:'${ctx}/jaljxfpfx/jxfpksgd/checkQRCodeIfExist',  
        //contentType: 'application/json;charset=utf-8', //设置你发送给服务器的格式(后台Controller层方法(paramData格式){})
        //traditional: true,/*jquery Ajax 传递数组类型参数,方法1_ajax需要设置traditional: true,防止深度序列化;方法2_前台**.js下,ajax注释掉traditional: true;并在后台指定参数类型*/      
        data:params,//或data:{fpdm:fpdm1,fphm:fphm1},或data:{"fpdm":fpdm1,"fphm":fphm1},
        dataType:'json',//dataType设置你收到服务器返回数据的格式(后台Controller层方法(){return resultData格式;})。      
        //async:false,//同步
        success:function(rData){
            temp=rData;
        }
    });
    alert(temp);//async:false,这个ajax请求为同步请求,在没有返回值之前,alert(temp)是不会执行的。如果async:true,则不会等待ajax请求返回的结果,会直接执行ajax后面的语句。
}

**Controller.java

    @RequestMapping(value="checkQRCodeIfExist")
    @ResponseBody
    public JxfpksGd checkQRCodeIfExist(String fpdm,String fphm){//或@RequestParam Map<String,Object> params){
        String nsrsbh=ShiroUtil.getCurrentUser().getDqzz().getNsrsbh();
        //String fpdm=MapGetter.getString(params, "fpdm");
        //String fphm=MapGetter.getString(params, "fphm");
        JxfpksGd jxfpksGd=jxfpksGdService.getCheckQRCodeByParams(fpdm, fphm, nsrsbh);
        return jxfpksGd;    
    }

  contentType(默认值:'application / x-www-form-urlencoded; charset = UTF-8')

类型:字符串

  1. 将数据发送到服务器时,请使用此内容类型。默认为“application / x-www-form-urlencoded; charset = UTF-8”,这在大多数情况下都适用。如果您明确地将内容类型传递给$ .ajax(),那么它将始终发送到服务器(即使没有数据发送)。如果未指定charset,则使用服务器的默认字符集将数据传输到服务器; 你必须在服务器端适当地解码它。
  2. 如果你有二进制(非字母数字)数据(或一个很大的有效载荷)要传输,请使用multipart/form-data。否则,请使用application/x-www-form-urlencoded。contentType:'multipart/form-data', 用来上传文件;如果表单包含命名文件上载,则您唯一的选择是form-data,因为urlencoded无法放置文件名(在form-data中,它是content-disposition的name参数)。
  3. 在http(文本协议) 请求中,get 和 post 是最常用的。在 jquery 的 ajax 中, contentType都是默认的值:application/x-www-form-urlencoded,这种格式的参数特点就是(键值对),key1=value1&key2=value2... 如:get形式 wwwh.baidu.com/q?key1=value1&key2=value2 。而 post 请求则是使用请求体,参数不在 url 中,在请求体中的参数表现形式也是: key1=value1&key2=value2。(注:ajax将数据发送到服务器时,服务器需要的是一个JSON字符串。)
  •     ajax 中传给后台的参数为,简单的JSON,设置contentType:'application/x-www-form-urlencoded'。

            {
                "a": 1, 
                "b": 2, 
                "c": 3
            }

  •     ajax 中传给后台的参数为,一个复杂的JSON对象(对象嵌数组,数组中包括对象),设置contentType:'application/json;charset=utf-8',data:JSON.stringify(data)序列化(将对象、数组转化成字符串)后,然后发送,在服务器端接到然后用 JSON.parse()进行还原(将字符串转成json对象)。

            {
                "data": {
                    "a": [
                        {
                            "x": 2
                        }
                    ]
                }
            }

 dataType(默认值:Intelligent Guess(xml,json,script或html))

类型:字符串
您期望从服务器返回的数据类型。如果没有指定,jQuery将尝试根据响应的MIME类型推断它(XML MIME类型将产生XML,在1.4 JSON中将产生一个JavaScript对象,在1.4脚本中将执行脚本,其他任何东西将是以字符串形式返回)。

async (默认值:true)

  1. async 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。
  2. async 设置为 false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 

jquery.ajax文档http://api.jquery.com/jquery.ajax/
参考https://www.cnblogs.com/htoooth/p/7242217.html 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值