• 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实现 LeetCode 455 分发饼干
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 454 四数相加 II
    Java实现 LeetCode 454 四数相加 II
    Java实现 LeetCode 454 四数相加 II
    FFmpeg解码H264及swscale缩放详解
    linux中cat more less head tail 命令区别
    C语言字符串操作总结大全(超详细)
    如何使用eclipse进行嵌入式Linux的开发
  • 原文地址:https://www.cnblogs.com/yangfei-beijing/p/8178919.html
Copyright © 2020-2023  润新知