zoukankan      html  css  js  c++  java
  • $.ajax 使用详解

    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();
          }
      });

    www.52newblog.com,本博客专注于励志、人生、名人、故事、时事热点等富有正能量文章的分享。是一款简洁美观、自适应的博客系统。
  • 相关阅读:
    (转)学习笔记viewController(欢迎指错)
    配置Xcode版本控制SVN详细步骤内含解决Xcode/Mac OS10.8无法配置SVN的解决方法(转)
    iPhone 3G/3GS(有锁)基带与导航功能
    [转]Iphone 3G/3Gs Home键失灵的根本原因和解决方法
    NSDate的常用用法(转)
    短信操作(转)
    如何在Symbian SDK下使用GCCE4(转)
    nS60_sdk_v1_2的VC6问题(转)
    如何获取应用程序图标(转)
    如何实现圆角的UITextView iphone短信发送(非系统界面)
  • 原文地址:https://www.cnblogs.com/sdream/p/5151145.html
Copyright © 2011-2022 走看看