小编Kay*_*ast的帖子

如何使用passportjs的jquery/ajax数据

如果我使用表单字段发送登录请求action="/login", method="post",它可以正常工作.与此处此处提供的代码类似.

但如果相反,如果我使用相同的信息发送jquery/ajax,那么护照似乎不起作用.没有通过护照进行实际登录,但是ajax调用给出了误导性的成功消息.

以下不起作用.虽然我收到"登录成功"消息,但登录并没有真正发生.

$('#login_button').click(function () {

    var email = $('#email').val();
    var password = $('#password').val();
    alert ('email/pass:' + email + ", " + password);

    $.ajax({
        type: "POST",
        url: "/login",
        data: { email: email , password: password },
        dataType: 'html'
    })
            .done(function () {
                console.log("http request succeeded");
                alert("login success");
            });
});
Run Code Online (Sandbox Code Playgroud)

我需要使用该ajax方法,以便在成功登录后我可以在客户端做一些有用的事情.例如,开始socket.io.

请帮忙.我在这里修改了代码:my-modified-code

javascript ajax jquery node.js passport.js

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

YAML和JSON错误aws static.config文件

我正在尝试在elasticbeanstalk上部署node.js应用程序(我在这里按照指示http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html),其中需要完成以下操作:

步骤6 [使用数据库更新应用程序]要点5.在本地计算机上,更新node-express/.ebextensions/static.config以向环境变量添加生产标志.

option_settings:
  - namespace: aws:elasticbeanstalk:container:nodejs:staticfiles
    option_name: /public
    value: /public
  - option_name: NODE_ENV
    value: production
Run Code Online (Sandbox Code Playgroud)

但是当我部署时,我收到错误:

2014-08-29 10:15:11     ERROR   The configuration file .ebextensions/static.config in application version git-5376bdbd807e9f181e6a907f996068b4075dffe0-1409278503377 contains invalid YAML or JSON. YAML exception: while parsing a block mapping
 in "<reader>", line 1, column 1:
    option_settings:
    ^
expected <block end>, but found BlockEntry
 in "<reader>", line 5, column 1:
    - option_name: NODE_ENV
    ^
, JSON exception: Unexpected character (o) at position 0.. Update the configuration file.
Run Code Online (Sandbox Code Playgroud)

我是新手,无法弄清楚如何纠正它.请帮忙.

json yaml amazon-web-services node.js amazon-elastic-beanstalk

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

如何使用:last-child选择器?

我想简单地添加border-bottom到最后一个.slab

我尝试了一些事情,我无法理解发生了什么.

案例1 - 使用 .wrapper:last-child

如果我在codepen.io或Stackoverflow片段上尝试这个,我border-bottom最后没有得到.slab

如果我在JSFiddle上尝试这个或者在Chrome中单独运行代码,我会得到border-bottom最后一个.slab.但是,如果我取消注释<div class="something">New</div>,那么border-bottom最后一个.slab在JSFiddle和Chrome 上都会消失.

.wrapper {
    width: 10em;
    margin: 1em;
}
.wrapper:last-child {
    border-bottom: 1px solid #999;
}
.slab {
    background-color: #eee;
    border-top: 1px solid #999;
    padding: 1em;
}
Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
    <div class="slab">Hello</div>
    <div class="slab">Hello</div>
    <div class="slab">Hello</div>
</div>
<!--<div class="something">New</div>-->
Run Code Online (Sandbox Code Playgroud)

案例2 - 使用 .slab:last-child

事实证明这无处不在 - JSFiddle,Chrome,codepen.io和Stackoverflow.但我认为选择的确是最后一个孩子, .slab而不是最后一个孩子.slab

html css css-selectors

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

ES6中的导出功能/ react

在服务器端(nodejs / express),导出和引用此文件(使用Attempt1)没有问题。

// collectionFile.js
function collection() {
    let data = {};
    function getData(key) {
        return data[key];
    }
    function setData(key, value) {
        data[key] = value;
    }
    return {
        getData: getData,
        setData: setData
    };
}

const instanceOfCollection = collection();
Run Code Online (Sandbox Code Playgroud)

在客户端(React),我只是无法引用和访问getData函数。以下是我尝试过的一些组合。他们都不工作。我该如何运作?

// Attempt1: export
// module.exports.getter = instanceOfCollection.getData;

// Attempt1: import
// const getter = require('./collectionFile').getter;
// Uncaught TypeError: getter is not a function

// Attempt2: export
// export default { instanceOfCollection };

// Attempt2: import
// import instanceOfCollection from './collectionFile';
// …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs es6-modules

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

通过内部函数监听局部变量

function init() {
  var name = "Breaking Bad";
  function getName() {
    console.log(name);
  }
  function setName(newName) {
    name = newName;
  }
  return {
    getName: getName,
    setName: setName
  };
}

const sayMyName = init().getName; // during initialization
init().setName('Heisenberg'); // can be updated multiple times later
sayMyName(); // isn't latest i.e. NOT Heisenberg
Run Code Online (Sandbox Code Playgroud)

什么可以做到getName最新name

PS:我试过了,但是在阅读了关于内部函数,闭包等的许多答案后,却无法在stackoverflow上找到解决方案.

javascript closures

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