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. Div 定时移动
  2. 【GO】GO语言学习笔记一
  3. SQL Server中Rowcount与@@Rowcount的用法
  4. linux下查看cpu物理个数、核数、逻辑cpu数
  5. 使用 SVG 动画实现弹性的页面元素效果
  6. 20款时尚的 WordPress 简洁主题【免费下载】
  7. Mysql初始化root密码和允许远程访问
  8. ASP.NET 3.5 中实现发送email电子邮件
  9. Java中的属性与字段的区别
  10. cocos2dx定时器
  11. Process &#39;command &#39;/usr/lib/jvm/jdk1.8.0_25/bin/java&#39;&#39; finished with non-zero exit value 2
  12. jenkins 自动化部署实战
  13. 【原创】大叔经验分享(5)oozie提交spark任务如何添加依赖
  14. XML DOM 节点类型(Node Types)
  15. 什么是url?
  16. linux下gcc默认搜索的头文件及库文件路径
  17. STL容器之一vector
  18. hadoop集群安装配置详细教程
  19. 逆地址解析协议RARP
  20. twitter——数据连接

热门文章

  1. USACO 2.1 The Castle
  2. 常州模拟赛d3t3 两只怪物心心相印
  3. Spoj-ODDDIV Odd Numbers of Divisors
  4. Little Bird(BZOJ 3831)
  5. 标准C程序设计七---20
  6. HTML网页滚动加载--mark一下
  7. HTTP请求的缓存(Cache)机制
  8. luogu P1476 休息中的小呆
  9. Spring中Bean的后置处理器
  10. iOS中创建自定义的圆角按钮