小编use*_*706的帖子

Node.js重定向有/无尾随斜杠

我有一个javascript根据URL做不同的事情.为了工作,我需要有一致的URI.

例如,我需要用户始终打开www.site.com/users/bob/而不是www.site.com/users/bob

不幸的是,节点似乎不支持它.

我尝试重定向

router.get('/:user', function(req, res) {
    res.redirect('/users/' + req.params.user' + '/');
});
Run Code Online (Sandbox Code Playgroud)

但它只会导致重定向循环,因为带有和不带斜杠的URL似乎都被视为相同.

我怎样才能做到这一点?谢谢!

编辑:

我想从WITHOUT斜线路由到斜线.另一个问题的答案解决了另一种方式.我不能.substr(-1)我的网址

javascript redirect node.js

7
推荐指数
2
解决办法
5390
查看次数

jquery悬停不触发

我在 domready 之后添加带有套接字消息的新客户端。我想在悬停时展开它们。

在这里阅读一些答案,但没有任何作用。我不知道为什么

我试过

socket.on('newStudentJoined', function studentJoined(msg) {
    console.log(msg.student + ' joined the room');
    $(document.createElement('div'))
        .attr('class', 'studentIcon closed col-md-2 ' + msg.student)
        .text(msg.student + ' 4r3 g345t g354 g54 ght65 g45t 3f4 f4 f4 534 g534')
        .on('hover', function() {
            console.log('hovering');
            $(this).toggleClass('closed').toggleClass('open');
        })
        .appendTo('#joinedClients');
});
Run Code Online (Sandbox Code Playgroud)

$('.studentIcon').on('hover', function() {
    console.log('hovering');
    $(this).toggleClass('closed').toggleClass('open');
});
Run Code Online (Sandbox Code Playgroud)

但甚至连“悬停”控制台日志也没有出来。选择器是正确的,如果我记录它,它会突出显示确切的元素。确保;确定:

<div id="joinedClients" class="row">
    <div class="studentIcon closed col-md-2 test">test 4r3 g345t g354 g54 ght65 g45t 3f4 f4 f4 534 g534</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这里出了什么问题?

html javascript css jquery

5
推荐指数
1
解决办法
5750
查看次数

预加载bootstrap glyphicons

有没有办法预加载bootstrap的glyphicons?

我有一个"下一个" - 按钮,按下时显示旋转的"重新加载"字形.

(正常状态text ="Next",按下时加载微调器的更改)

$('button#next').on('click', function nextProblem() {
    addSpinner.call($(this));
    redirectToNext();
});

function addSpinner() {
    if (!$(this).eq(0).hasClass("spinning")) {
        $(this).eq(0).html('<span class="glyphicon glyphicon-refresh spinning"></span>');
    }
}
Run Code Online (Sandbox Code Playgroud)

但加载需要245毫秒,直到那时,根本没有任何显示.

(它旨在显示重定向需要更长时间的"加载"状态).但是现在,按钮变为空白(对于不超过2xx毫秒的正常重定向)

这不是有史以来最大的交易,但它并不美丽

我怎样才能解决这个问题?

javascript jquery twitter-bootstrap glyphicons

3
推荐指数
1
解决办法
1081
查看次数

循环未定义的数组键

问题:

我有一个DB包含数学练习,按难度级别和日期分割.

我想生成一段时间的性能图表.

为了达到这个目的,我遍历查询结果,以及++进行练习的级别和日期的计数器.

例如:2级练习于2015年11月1日进行. this.levels[2].daysAgo[1].amountTaken++;

有了这个,我可以构建一个图表,其中第0天始终是今天,并且显示了几天的表现.

现在levels []有一个预定义的级别,所以没有问题.但DAYSAGO []是非常动态的(它甚至使用相同的数据每天都在变化),所以如果只有一个运动拍摄,它会徘徊每天的基础上(从是daysAgo[0]daysAgo[1]等).在daysAgo[]这之间是空的(因为没有条目).

但是为了评估图表,我需要它们具有初始化状态amountTaken: 0,等等.

问题是:我不知道什么时候最古老的运动.

想法1:

首先收集一种代理对象中的所有条目,其中我有一个var maxDaysAgo保存最旧练习的值,然后daysAgo[maxDaysAgo]在插入实际条目之前初始化一个填充0条目的数组.

这看起来非常笨拙而且过于复杂

想法2:

只需添加条目this.level[level].daysAgo[daysAgo].amountTaken++;,可能会使daysAgo数组中包含许多undefined键.然后,在添加所有条目之后,我将循环遍历daysAgo

for (var i = 1; i < this.maxLevel; i++) {                       // for every level
  for (var j = 0; j < this.levels[i].daysAgo.length; j++) { 
Run Code Online (Sandbox Code Playgroud)

daysAgo.length不会计算未定义的字段,是吗?

所以,如果我在[24]只有一个条目,length仍然是1:/

题:

我怎样才能找到数组中的最高键并循环,直到那里存在未定义的键?我怎样才能将所有未定义的密钥添加到最高位置(而不是更多)?

或者:完全解决整个问题会有什么不同,更优雅的方式?

谢谢 :)

javascript arrays

0
推荐指数
1
解决办法
64
查看次数

"+"在我的功能中表现得很奇怪

我正在制作一个数学应用程序.在那里,我希望能够通过随机操作生成数学任务.

var generator = {

    operations: [
        "+",
        "-",
        "*",
        "/"
    ],

    randomOperation: function(amount) {
        if (amount == 2) {
            return this.operations[Math.round(Math.random())];
        }
        if (amount == 4) {
            return this.operations[Math.floor(Math.random() * 4)];
        }
    },

    addOperand: function(operand, maxSize, minSize) {
        var op = operand;
        console.log('op ' + op);
        if (operand == 2||4) {
            console.log('getting random operand');
            op = this.randomOperation(operand);
        }
        var number = this.randomNumber(maxSize, minSize);
        console.log('number ' + number);

        this.tasks.push({
            value: number,
            operation: op
        });
        console.log('added ' + op + ' …
Run Code Online (Sandbox Code Playgroud)

javascript operators

0
推荐指数
1
解决办法
35
查看次数