CategoryJQuery article

jQuery_Ajax

  1. 一般格式:

    $.ajax({
         type: 'POST',
         url: url ,
         data: data ,
         success: success ,
         dataType: dataType
    });
  2. 方法参数表(红色为常用参数):(前六个为常用)

    名称                            值/描述
    type                        规定请求的类型(GET 或 POST)。
    url                            规定发送请求的 URL。默认是当前页面。
    success(result,status,xhr)    当请求成功时运行的函数。
    data                        规定要发送到服务器的数据。
    error(xhr,status,error)        如果请求失败要运行的函数。
    contentType                        发送数据到服务器时所使用的内容类型。默认                                        是:"application/x-www-form-urlencoded"。
    
    async                        布尔值,表示请求是否异步处理。默认是 true。
    beforeSend(xhr)                发送请求前运行的函数。
    cache                        布尔值,表示浏览器是否缓存被请求页面。默认是 true。
    complete(xhr,status)         请求完成时运行的函数(在请求成功或失败之后均调用,即在success和 error 函数之后)。
    context                        为所有 AJAX 相关的回调函数规定 "this" 值。
    dataFilter(data,type)        用于处理 XMLHttpRequest 原始响应数据的函数。
    dataType                    预期的服务器响应的数据类型。
    global                        布尔值,规定是否为请求触发全局 AJAX 事件处理程序。默认是 true。
    ifModified                    布尔值,规定是否仅在最后一次请求以来响应发生改变时才请求                            成功。默认是 false。
    jsonp                        在一个 jsonp 中重写回调函数的字符串。
    jsonpCallback                在一个 jsonp 中规定回调函数的名称。
    password                    规定在 HTTP 访问认证请求中使用的密码。
    processData                    布尔值,规定通过请求发送的数据是否转换为查询字符串。默认是 true。
    scriptCharset                规定请求的字符集。
    timeout                        设置本地的请求超时时间(以毫秒计)。
    traditional                    布尔值,规定是否使用参数序列化的传统样式。
    username                    规定在 HTTP 访问认证请求中使用的用户名。
    xhr                            用于创建 XMLHttpRequest 对象的函数。
  3. 一些需要注意的地方

    • data主要方式有三种,html拼接的,json数据,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。
    • $.ajax只提交form以文本方式,如果异步提交包含\<file>上传是上传不过去的,需要使用jquery.form.js的$.ajaxSubmit
  4. 实例:

    //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. 更多实例:https://www.csdn.net/gather_2e/OtTaEg3sNjQwLWJsb2cO0O0O.html
  6. 获取输入框的值:https://blog.csdn.net/qq_36330733/article/details/88322071

jQuery比较是否包含字符串

  1. 使用indexOf()和lastIndexOf()方法

    案例:

    var Cts = "bblText";
    if(Cts.indexOf("Text") >= 0 ) {
        alert('Cts中包含Text字符串');
    }

    indexOf用法:

    
    返回 String 对象内第一次出现子字符串的字符位置。
    strObj.indexOf(subString[, startIndex])
    
    参数
    strObj
    
    必选项。String 对象或文字。
    subString
    
    必选项。要在 String 对象中查找的子字符串。
    starIndex
    
    可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。
    
    说明
    indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。
    
    如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。
    
    从左向右执行查找。否则,该方法与 lastIndexOf 相同。

    注意:

    indexOf() 方法对大小写敏感!
    如果要检索的字符串值没有出现,则该方法返回 -1。
    lastIndexOf() 的用法与indexOf()相同,只是是从右想左查找。
  2. 方法二:使用test()方法

    实例:在下面的例子中,我们将检索“W3School”:

    var str = "Visit W3School";
    var patt1 = new RegExp("W3School");
    var result = patt1.test(str);
    document.Write("Result: " + result);

    结果输出:Result: true

    使用方法介绍:

    
    定义和用法
    test() 方法用于检测一个字符串是否匹配某个模式.
    
    语法
    RegExpObject.test(string)
    
    参数  描述
    string  必需。要检测的字符串。
    
    返回值
    如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
    
    说明
    调用 RegExp 对象 r 的 test() 方法,并为它传递字符串 s,与这个表示式是等价的:(r.exec(s) != null)。

判断对象中是否含有某个key值