小编ger*_*lol的帖子

Nodejs Express3 使用会话来检查用户是否登录

我有以下app.js代码

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.enable('jsonp callback');
  app.set('view engine', 'jade');
  app.set('view options', {layout : false});
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser());
  app.use(express.session({
    secret : 'abcdefg'      
  }));
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
  app.use(function(req, res, next){
    res.locals.user = req.session.user;
    next();
  })

});
Run Code Online (Sandbox Code Playgroud)

我正在尝试使我的.jade视图中的以下代码能够工作

- if(session.user)
          div#logoutsection.pull-right
            a#logout-btn.btn.btn-info.pull-right.top-bar-form-button(href='logout/') Logout
            p#loginprompt.pull-right.login-prompt #{session.user.username} logged In
        - else
          ul.pull-right
            li
          a#signup-btn.btn.pull-right.top-bar-form-button(href='#signup-modal', data-toggle="modal") Sign Up
Run Code Online (Sandbox Code Playgroud)

因此,如果他们未登录,请提供注册选项;如果他们已登录,请告诉他们他们已“登录”。我在代码末尾添加了函数,app.configure就像在使用之前一样,dynamicHelpers()我被告知这cookieParser()是可行的方法,但是我将如何编码,以便我可以检查我的用户是否已登录并提供他们的用户名,因为我我正在尝试以上?

任何帮助表示赞赏。

谢谢!

编辑:index.js

'use strict'

var util = require('util');
var …
Run Code Online (Sandbox Code Playgroud)

javascript cookies session node.js express

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

如何创建指向另一个PHP页面的链接

我刚刚将一些HTML页面转换为PHP页面,我对此并不熟悉PHP.在我的HTML页面中,假设它只是一个静态的Web应用程序,我可以通过anchor在页面上播放以下内容来简单地链接到另一个页面:

<a href="go-to-this-page.html">This is a link</a>

因此,在将页面转换PHP为以确保我可以更容易和更快地模板和包含模板之后,我不知道如何包含这些链接.

例如,假设我有两页,index.phppage2.php.如何创建此页面的锚点链接?

<a href="??????">This is a link</a>

谢谢你的帮助!

html php anchor templates hyperlink

5
推荐指数
2
解决办法
9万
查看次数

角度材料 - 为什么我的md按钮全宽?

简单的问题,我已经制作了一个非常基本的页面来使用Angular Material.我有一个在中型设备上可见的按钮,可以切换侧面导航,由于某种原因,它是全宽的.没有CSS使其成为全宽度,并且没有使其成为全宽度的Material指令.它似乎继承了它所在容器的宽度,但我不明白为什么.

任何有一点Angular Material知识的人都可以看到原因吗?(只需调整窗口大小以查看按钮)

这是我的CodePen:

http://codepen.io/anon/pen/jPYNzy

和代码:

<!-- Container -->
<div layout="column" layout-fill>
    <div layout="row" flex>

        <!-- Content -->
        <md-content flex>

            <md-toolbar>
                <div class="md-toolbar-tools">
                    <h1>Title</h1>
                </div>
            </md-toolbar>

            <div layout="column" class="md-padding">
                <p>
                The left sidenav will 'lock open' on a medium (>=960px wide) device.
                </p>
                <md-button ng-click="toggleLeft()" hide-gt-md>
                    Toggle left
                </md-button>
            </div>

        </md-content><!-- ./Content -->

    </div>
</div><!-- ./Container -->
Run Code Online (Sandbox Code Playgroud)

javascript css angularjs material-design angular-material

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

Java/JUnit - 比较两个多项式对象

我有一个名为Term的多样化Java类,如下所示

public Term(int c, int e) throws NegativeExponent {
    if (e < 0) throw new NegativeExponent();
    coef = c;
    expo = (coef == 0) ? 1 : e;
}
Run Code Online (Sandbox Code Playgroud)

我在同一个类中也有一个equals方法,如下所示

@Override
public boolean equals(Object obj) {

}
Run Code Online (Sandbox Code Playgroud)

我坚持如何编码如何比较这两个Term对象

在我的JUnit测试文件中,我使用下面的测试来尝试测试equals方法

import static org.junit.Assert.*;

import org.junit.Test;

public class ConEqTest
{
    private int min = Integer.MIN_VALUE;
    private int max = Integer.MAX_VALUE;



@Test
public void eq01() throws TError { assertTrue(new Term(-10,0).equals(new Term(-10,0))); }

@Test
public void eq02() throws TError { assertTrue(new Term(0,0).equals(new Term(0,2))); }
Run Code Online (Sandbox Code Playgroud)

java junit equals object polynomial-math

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

Nodejs Express - dynamicHelpers错误

我正在尝试使用以下内容运行我的应用:

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.enable('jsonp callback');
  app.set('view engine', 'jade');
  app.set('view options', {layout : false});
  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(express.session({
    secret : 'abcdefg'      
  }));
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));

});

app.dynamicHelpers({
  session : function(req, res){
    return req.session;
  }
});
Run Code Online (Sandbox Code Playgroud)

并在运行时收到以下错误消息 node app.js

app.dynamicHelpers({

TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'dynamicHelpers'
    at Object.<annonymous> (C:\nodeapps\nodeblox\app.js:35:5)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.Load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
    at process.startup.processNextTick.process._tickCallBack (node.js:244:9)
Run Code Online (Sandbox Code Playgroud)

我是使用nodejs的新手,但我知道Express不再支持dynamicHelpers(),我尝试重新编写代码并继续在整个地方出错.修复此dynamicHelpers代码的正确方法是什么,以确保其余代码仍能正常工作?

谢谢!

javascript mongodb node.js express

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

jQuery - 删除用户选择的下拉项

我有4个下拉列表,其中包含从数据库中获取的下拉列表中的团队列表.我已经把下面的下拉列表的代码,我道歉它是用JADE的HTML模板引擎编写的,但这就是我编写代码的方式.我也把我当前的jQuery脚本放在下面.

目前,它有点工作,如果我从第1队到第4队并选择一个团队,那么它可以工作,但如果我改变主意进行其中一个下降......那么整个列表就会变得混乱它已经删除了某些物品......

如果我在team1中输入一个团队,它应该从其他列表中消失....但如果我改变团队1,团队应该再次出现在其余列表中,但目前还没有.

任何想法如何解决这一问题?

JADE下降:

div.row
    label.control-label(for="team1") Team 1:
    div.controls
        select#team1(style='width: 160px;')
            include teamsDropDown
div.row
    label.control-label(for="team2") Team 2:
    div.controls
        select#team2(style='width: 160px;')
            include teamsDropDown
div.row
    label.control-label(for="team3") Team 3:
        div.controls
            select#team3(style='width: 160px;')
                include teamsDropDown
div.row
        label.control-label(for="team4") Team 4:
            div.controls
                select#team4(style='width: 160px;')
                    include teamsDropDown
Run Code Online (Sandbox Code Playgroud)

teamsDropDown JADE:

-if(teamsList.length > 0){
    option
    -each team in teamsList
    option.teamDropDown(id="#{team.key}",value="#{team.key}") #{team.name}
-}else{
    No teams till now..
-}
Run Code Online (Sandbox Code Playgroud)

jQuery脚本:

script(type='text/javascript')
$('select').change(function() {
 $('select').not(this).children('option[value=' + $(this).val() + ']').remove();
});  
Run Code Online (Sandbox Code Playgroud)

JFiddle:

http://jsfiddle.net/m8QCZ/

javascript jquery

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

单击按钮后加载javascript文件

我试图使用一组文本框来定义JavaScript文件中的一些数据.因此,在文本框中输入团队名称"团队名称",javascript文件使用此文本框存储团队名称以打印一组锦标赛括号.

javascript文件包含在我<head> 的文件框中,所以它在我实际输入数据之前加载.我有这个代码用于html中的按钮,如下所示:

script(type='text/javascript')
    $('#buttontest').click(function() {
        $('div.bracket').show();
        $('div.teamList').hide();
    });
Run Code Online (Sandbox Code Playgroud)

因此,当按下按钮时,文本框全部被隐藏,并且应显示带有用户定义的团队名称的括号....这是我的javascript文件末尾的代码:

$(function() {
    $('#singleElim8').bracket({
        init: singleElim8Data
    })
  $('.bracket').hide();
});
Run Code Online (Sandbox Code Playgroud)

所以在div.bracket中我有javascript使用的类#singleElim8.但是我如何更改它以便初始化括号的javascript仅在单击按钮后才会运行?这样,括号在填写文本框之后呈现.任何帮助表示赞赏.

javascript jquery onload

2
推荐指数
1
解决办法
1万
查看次数

检查整数(或整数列表的所有元素)是否为素数

我正在使用递归来做一个简单的Haskell函数.目前,这似乎有效,但是,如果我进入2,它实际上是虚假的,这是令人恼火的.我认为代码不尽如人意,所以,如果你有任何建议,那也很酷!

我对这门语言很陌生!

编辑:好的,所以我理解素数是多少.

例如,我希望能够检查2,3,5,7等,并isPrime返回true.当然,如果我使用1,4,6,8等运行该功能,那么它将返回false.

所以,我的想法是在伪代码中我需要做如下:

num = 2 -> return true
num > 2 && num = even -> return false
Run Code Online (Sandbox Code Playgroud)

在那之后,我很难在任何正常工作的代码中写下来,所以下面的代码是我正在进行的工作,但我真的很厌烦Haskell所以我现在无处可去.

module Recursion where

isPrime :: Int -> Bool
isPrime x = if x > 2 then ((x `mod` (x-1)) /= 0) && not (isPrime (x-1)) else False
Run Code Online (Sandbox Code Playgroud)

recursion primes haskell

2
推荐指数
1
解决办法
1562
查看次数

等到scrollTo完成后再运行命令

我有一个 AngularJS 应用程序,并且有一个平滑滚动指令来强制页面滚动到底部。我希望该命令仅在滚动完成后运行。您可以看到,此时我运行滚动功能,然后运行$('#comment-input').focus();以聚焦于一个元素。我想更改它,以便仅在滚动运行。我知道我需要实施 acallback但我不知道在哪里实施它。

(function() {

    var app = angular.module('myApp');

    app.service('anchorSmoothScroll', function(){

        this.scrollTo = function(eID) {

            // This scrolling function 
            // is from http://www.itnewb.com/tutorial/Creating-the-Smooth-Scroll-Effect-with-JavaScript

            var startY = currentYPosition();
            var stopY = elmYPosition(eID);
            var distance = stopY > startY ? stopY - startY : startY - stopY;
            if (distance < 100) {
                scrollTo(0, stopY); return;
            }
            var speed = Math.round(distance / 100);
            if (speed >= 20) speed = 20;
            var step = Math.round(distance / 25); …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

2
推荐指数
1
解决办法
1万
查看次数

Nodejs Mongoose - TypeError:无效的sort()参数

嗨我正在尝试运行我的程序,但是当我尝试在浏览器中连接到localhost时,我每次都会收到以下错误.我认为我的排序或查询有问题,但我不确定它到底出了什么问题.有人可以帮我修复我的代码吗?app.js代码也是正确的,我觉得那里也可能有错误..?欢迎任何帮助!:)

Express
500 TypeError: Invalid sort() argument. Must be a string or object.
at Query.sort (C:\nodeapps\nodeblox\node_modules\mongoose\lib\query.js:1167:11)
at Function.Post.statics.getAll (C:\nodeapps\nodeblox\schemas\Post.js:44:9)
at module.exports.app.post.username (C:\nodeapps\nodeblox\routes\index.js:45:10)
at callbacks (C:\nodeapps\nodeblox\node_modules\express\lib\router\index.js:160:37)
at param (C:\nodeapps\nodeblox\node_modules\express\lib\router\index.js:134:11)
at pass (C:\nodeapps\nodeblox\node_modules\express\lib\router\index.js:141:5)
at Router._dispatch (C:\nodeapps\nodeblox\node_modules\express\lib\router\index.js:169:5)
at Object.router (C:\nodeapps\nodeblox\node_modules\express\lib\router\index.js:32:10)
at next (C:\nodeapps\nodeblox\node_modules\express\node_modules\connect\lib\proto.js:190:15)
at Object.methodOverride [as handle] (C:\nodeapps\nodeblox\node_modules\express\node_modules\connect\lib\middleware\methodOverride.js:37:5)
Run Code Online (Sandbox Code Playgroud)

以下是我的2个架构,我认为这是导致问题的原因

Post.js

'use strict';

var util = require('util');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var validatePresenceOf = function(value){
  return value && value.length; 
};

var toLower = function(string){
  return string.toLowerCase();
};

var getId = …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js express

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

AngularJS - $ scope变量不存储函数外部的数据

我的内容中有一个非常简单的函数controller:

fetchUsers = function () {
  UserService.getUsers().
  success(function(data, status) {
    $scope.users = data.users;
    console.log($scope.users);
  });
};

fetchUsers();

console.log($scope.users);
Run Code Online (Sandbox Code Playgroud)

它基本上是使用a service从一个中检索一些数据API,并且console.log函数内部工作正常,并将一个数组发送到控制台[Object Object],我可以打开它,看看我的所有用户都没问题.但是,当我通过调用fetchUsers()并运行一个函数而将其放在函数外部时,console.log我只需返回一个空数组,然后[]输出到控制台.

谁能想到会导致这种情况的任何事情?我有点困惑.

javascript angularjs

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

AngularJS - 在两个控制器之间共享数据的正确方法

我想了解如何在AngularJS中的两个或更多控制器之间共享一些数据.

现在我只是处理两个控制器,但将来我会有更多的控制器也想要使用这些相同的数据.现在我有一个navigation-controller控制side navigationheader.为了便于理解,让我们说第二个控制器被调用content-controller,它负责处理所有内容.

我想根据用户搜索的内容动态加载内容,搜索栏位于侧面导航中,因此searchTerm两个控制器都需要访问它.在将来,我还将实现一些其他可能需要访问此searchTerm的功能.

就HTML结构而言,它content-controller位于内部navigation-controller.

我的第一个想法是searchTerm通过坚持将其全球化$rootScope,但我不确定这是否是一种有效/安全的方式.

我的第二个想法是采取搜索方面,并把它们放入service.在这个服务中,我会放置与API对话的函数,以获得必要的数据.这意味着在搜索栏上,我可以让submit search按钮访问service并运行类似的东西FooService.update(searchTerm).

你认为处理这种情况的最佳方法是什么?

javascript angularjs

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

使用javascript数组

我对这段代码做错了什么,我无法打印出任何团队的名字.我希望它输出第一支球队或第二支球队等的名称.但没有任何作用.有帮助吗?

   var seeds = [
        { "id" : 1, "name" : "Team 1" }
        { "id" : 2, "name" : "Team 2" }
        { "id" : 3, "name" : "Team 3" }
        { "id" : 4, "name" : "Team 4" }
        { "id" : 5, "name" : "Team 5" }
        { "id" : 6, "name" : "Team 6" }
        { "id" : 7, "name" : "Team 7" }
        { "id" : 8, "name" : "Team 8" }
    ]
    document.write(seeds[0].name);
Run Code Online (Sandbox Code Playgroud)

javascript printing arrays

-4
推荐指数
1
解决办法
72
查看次数