zoukankan      html  css  js  c++  java
  • Jquery

    1. 字符串格式化

    var hot_li_template = '<li><div class="li-out"><span class="last"><i>{0}</i></span><span class="name"><a  href="{1}">{2}</a></span><span class="nums">{3}</span></div></li>'
    
    jQuery.format(hot_li_template, i + 1, url, data.title, numberScale(data.views));
    

    2. 四舍五入指定小数位数

    ƒ (num) {
        var ret = num;
    
        if (num > 1000) {
            ret = (num / 1000).toFixed(1) + 'k';
        }
        return ret;
    }

    toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

    3. 单选框全选

    $('.checkall').on('click', function(event) {
            var checked = $(this).prop('checked');
            if (checked) {
           //attr方法第三次点击会失效 //$(
    this).closest('table').find('input[type=checkbox]').attr('checked', 'checked');
           $(this).closest('table').find('input[type=checkbox]').prop('checked', 'checked'); }
    else { $(this).closest('table').find('input[type=checkbox]').removeAttr('checked'); } });

    4. ajax请求,后台无法获取session信息

    $.ajax({
            url:base + "/aaa",
            type:"get",
            data:{appId:"1"},
            xhrFields: {
                withCredentials: true
            },
            success:function(data)  {
                var response = data.data;
                var startHtml = '<ul class="nav" id="side-menu">';
                if(response != null){
                    for(var i = 0; i < response.length; i ++){
                        var inData = response[i];
                        var url = "#";
                        if(inData.children == null  || inData.children.length == 0){
                            url = inData.url;
                        }
                        startHtml += '<li><a href="' + url  + '"><i class="fa fa-dashboard fa-fw"></i>' + inData.name + '<span class="fa arrow"></span></a>';
                        if(inData.children != undefined && inData.children.length > 0){
                            var outHtml  = '<ul class="nav nav-second-level">';
                            for(var j = 0; j < inData.children.length; j ++){
                                var outData = inData.children[j];
                                outHtml += '<li><a href="' + outData.url  + '"><i class="fa fa-dashboard fa-fw"></i>' + outData.name + '</a></li>';
                            }
                            startHtml += outHtml + '</ul>';
                        }
                        startHtml += '</li>';
                    }
                }
                startHtml += '</ul>';
                console.log(startHtml);
                $("#initMenu").append(startHtml);
            }
        })

    解决方法为添加:

    xhrFields: {
                withCredentials: true
            }

    默认情况下,跨源请求不提供凭据(cookie、HTTP认证及客户端SSL证明等)。通过将withCredentials属性设置为true,可以指定某个请求应该发送凭据。如果服务器接收带凭据的请求,会用下面的HTTP头部来响应。
    Access-Control-Allow-Credentials: true。
    如果发送的是带凭据的请求,但服务器的相应中没有包含这个头部,那么浏览器就不会把相应交给JavaScript(于是,responseText中将是空字符串,status的值为0,而且会调用onerror()事件处理程序)。另外,服务器还可以在Preflight响应中发送这个HTTP头部,表示允许源发送带凭据的请求。
    支持withCredentials属性的浏览器有Firefox 3.5+、Safari 4+和Chrome。IE10及更早版本都不支持。

  • 相关阅读:
    Java 回调函数的理解
    Java对象初始化
    Hibernate中get方法和load方法的区别
    Java 如何判断导入表格某列是否有重复数据
    Java学习之Java的单例模式
    Java中怎么设置文件权限
    div居中问题
    JSON
    js
    ajax
  • 原文地址:https://www.cnblogs.com/yangfei-beijing/p/8178919.html
Copyright © 2011-2022 走看看