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. web.xml不同的头文件

    <转自:http://blog.csdn.net/qq_16313365/article/details/53783288> 1. Servlet 3.1 Java EE 7 XML sc ...

  2. Python之注册表增删改查(干货)

    在Windows平台下,对注册表的增删改查的需求比较多,微软提供了很多用于访问,修改注册表等的API,我们可以使用诸如bat,或者C++等各种方式去访问修改注册表.无所不能的python下如何完成这些 ...

  3. C++ 中的 C_str() 函数用法

    转中转 ~\(≧▽≦)/~ :http://blog.csdn.net/nancy_m/article/details/7583550 语法: const char *c_str(); c_str() ...

  4. 解决centos7中ens33中不显示IP等问题

    在虚拟机中安装centos7,输入ifconfig显示command not found.在sbin目录中发现没有ifconfig文件,这是因为centos7已经不使用 ifconfig命令了,已经用 ...

  5. 洛谷 P 1164 小A点菜

    题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:“随便点”. 题目描述 不过uim由于买了一些辅(e ...

  6. Dreamweaver8中文版视频教程 [爱闪教程]Dreamweaver8中文版

    原文发布时间为:2008-07-30 -- 来源于本人的百度文章 [由搬家工具导入] http://www.176net.com/shipin/UploadFiles_1476/teach1/%5B% ...

  7. 转 C++STL之string

    http://www.cnblogs.com/wangkangluo1/archive/2011/07/22/2114118.html string类的构造函数: string(const char ...

  8. GridView动态删除Item

    activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  9. vba比较日期大小,定义日期;vba让excel保存

    Private Sub CommandButton1_Click()Dim i, j As IntegerDim a As Datea = #10/1/2013#j = 2i = 2' If  Wor ...

  10. Can't connect to X11 window server using 'localhost:0.0' 的解决

    Can't connect to X11 window server using 'localhost:0.0' 的解决 http://lufei-99999.blog.163.com/blog/st ...