Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作。

$.post、$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()

一、$.ajax的一般格式

$.ajax({

type: 'POST',

url: url ,

data: data ,

success: success ,

dataType: dataType

});

二、$.ajax的参数描述

参数 描述

url 必需。规定把请求发送到哪个 URL。
data 可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。
dataType

可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script 或 html)。

三、$.ajax需要注意的一些地方:

1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。

2.$.ajax只提交form以文本方式,如果异步提交包含<file>上传是传过不过去,需要使用jquery.form.js的$.ajaxSubmit

四、实例:

//1.$.ajax带json数据的异步请求

var aj = $.ajax( {
      url:'productManager_reverseUpdate',// 跳转到 action
      data:{
        selRollBack : selRollBack,
        selOperatorsCode : selOperatorsCode,
        PROVINCECODE : PROVINCECODE,
        pass2 : pass2  },
      type:'post',
      cache:false,
      dataType:'json',
      success:function(data) {
            if(data.msg =="true" ){
              // view("修改成功!");
              alert("修改成功!");
              window.location.reload();
            }else{
              view(data.msg);
            }
        },
      error : function() {
        // view("异常!");
        alert("异常!");
      }
  });

//2.$.ajax序列化表格内容为字符串的异步请求

function noTips(){
    var formParam = $("#form1").serialize();//序列化表格内容为字符串
    $.ajax({
      type:'post',
      url:'Notice_noTipsNotice',
      data:formParam,
      cache:false,
      dataType:'json',
      success:function(data){
      }
    });
  }

//3.$.ajax拼接url的异步请求

var yz=$.ajax({
    type:'post',
    url:'validatePwd2_checkPwd2?password2='+password2,
    data:{},
    cache:false,
    dataType:'json',
    success:function(data){
    if( data.msg =="false" ) //服务器返回false,就将validatePassword2的值改为pwd2Error,这是异步,需要考虑返回时间
       {
        textPassword2.html("<font color='red'>业务密码不正确!</font>");
        $("#validatePassword2").val("pwd2Error");
        checkPassword2 = false;
        return;
      }
    },
    error:function(){}
  });

//4.$.ajax拼接data的异步请求

$.ajax({
  url:'<%=request.getContextPath()%>/kc/kc_checkMerNameUnique.action',
  type:'post',
  data:'merName='+values,
  async : false, //默认为true 异步
  error:function(){
    alert('error');
  },
  success:function(data){
    $("#"+divs).html(data);
  }
});

//5.done的使用

$.ajax({
    type:'get',
    async:false,
    url:this.topUrl + 'sbjctDmnInfo/queryVrsnCD.action?rnd=' + Math.random()
    }).done(function(data){
      if (data.retcode == '0000') {
        aplnCommon.rightTreeSearchObj.dataVrsnId = data.obj[0].vrsnId;
        func1();
      }
  });

随机推荐

  1. [luoguP3110] [USACO14DEC]驮运Piggy Back(SPFA || BFS)

    传送门 以 1,2,n 为起点跑3次 bfs 或者 spfa 那么 ans = min(ans, dis[1][i] * B + dis[2][i] * E + dis[3][i] * P) (1 & ...

  2. 将一个list均分成n个list

    /** * 将一个list均分成n个list,主要通过偏移量来实现的 * @param source * @return */ public <T> List<List<T&g ...

  3. cf21D Traveling Graph

    You are given undirected weighted graph. Find the length of the shortest cycle which starts from the ...

  4. Spoj-BITDIFF Bit Difference

    Given an integer array of N integers, find the sum of bit differences in all the pairs that can be f ...

  5. scrapy框架之comand line tool

    一 Global Command 1 startproject https://docs.scrapy.org/en/latest/topics/commands.html#startproject ...

  6. Linux之VMware虚拟机取消DHCP

    1.点击编辑项 2.选择VMnet1  点击更改设置 3.选择VMnet1 去掉使用本地DHCP服务  点击应用 原文地址:https://blog.csdn.net/star_in_shy/arti ...

  7. SHoj 420 购买装备

    购买装备 发布时间: 2017年7月9日 18:17   最后更新: 2017年7月9日 21:05   时间限制: 1000ms   内存限制: 128M 描述 最近盛大的一款游戏传奇世界极其火爆. ...

  8. Unslider--入门篇

    Unslider--入门篇 背景:因工作需求,需要完成一个图片轮播效果,因博主不是专业的前端开发人员,so google之,经过挑选最终选择使用Unslider插件完成工作. 一.Unslider插件 ...

  9. Android 网络编程之HttpURLConnection运用

    Android 网络编程之HttpURLConnection 利用HttpURLConnection对象,我们可以从网络中获取网页数据. 01 URL url = new URL("http ...

  10. meta标签集

    html中的meta总结: 0.声明文档使用的字符编码: <meta charset='utf-8'/> 1.优先使用 IE 最新版本和 Chrome : <meta http-eq ...