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,本博客专注于励志、人生、名人、故事、时事热点等富有正能量文章的分享。是一款简洁美观、自适应的博客系统。
  • 相关阅读:
    Java反射机制实现与原理
    Android APK反编译详解
    常见排序算法(二)
    常见排序算法(一)
    Error:Execution failed for task ':app:clean'. > Unable to delete directory: /media/file/workspaces/a
    Cannot run program "/home/user/Android/Sdk/build-tools/23.0.2/aapt": error=2 No such file or directo
    解决Ubuntu下IDEA无法输入中文问题
    ava method "org.apache.struts2.components.Form.getValidators(String)" threw an exception when invoke
    用C语言代码判别CPU的大小端模式
    (转)c语言随机数srandom( )
  • 原文地址:https://www.cnblogs.com/sdream/p/5151145.html
Copyright © 2011-2022 走看看