小编Luc*_*sta的帖子

在Sequelize中使用循环和承诺

我目前正在构建一个Nodejs,Express,Sequelize(与PostgreSQL)应用程序,并且在使用promises以及事务和循环时遇到了一些问题.

我试图弄清楚如何在事务中使用for循环.我试图循环遍历成员列表并在数据库中为每个成员创建一个新用户.

我知道以下代码是错误的,但它显示了我想要做的事情.

谁能指出我正确的方向?

        var members = req.body.members;
        models.sequelize.transaction(function (t) {
            for (var i = 0; i < members.length; i++) {
                return models.User.create({'firstname':members[i], 'email':members[i], 'pending':true}, {transaction: t}).then(function(user) {
                    return user.addInvitations([group], {transaction: t}).then(function(){}).catch(function(err){return next(err);});
                })
            };
        }).then(function (result) {
            console.log("YAY");
        }).catch(function (err) {
            console.log("NO!!!");
            return next(err);
        });
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise express sequelize.js

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

HTML中的`#`属性有什么作用?

当用户点击不同的元素时,我正在编写一个处理程序来对某个元素执行某些操作.

起初我有以下(这是使用Angular2,但我怀疑唯一不同的是如何onclick处理事件):

        <span>
            <input type="text" id="bioName">
        </span>
        <span class="icon-pencil" (click)="editField(bioName);"></span>
Run Code Online (Sandbox Code Playgroud)

......但这没效果.然后我找到了一个以不同方式识别输入字段的示例,这对我有用.它如下:

        <span>
            <input type="text" #bioName>
        </span>
        <span class="icon-pencil" (click)="editField(bioName);"></span>
Run Code Online (Sandbox Code Playgroud)

不幸的是我找不到任何解释这个的东西.使用HTML和Javascript搜索"hash"和"pound"会产生太多的结果,这些结果与主题领域中的内容无关.

那么#在这种情况下该怎么办?可以id设置事件处理程序时不能用来获得对DOM元素的引用?这叫什么,所以我可以google它并阅读相应的文档?

html javascript angular

14
推荐指数
2
解决办法
388
查看次数

如何从vb.net中的aspx.vb页面调用webmethod

我想做的是从aspx.vb调用WebMethod,下面是Default.aspx.vb中的WebMethod语法

<System.Web.Services.WebMethod()> _
<ScriptMethod(UseHttpGet:=True, ResponseFormat:=ResponseFormat.Json)> _
Public Shared Function dat( _
ByVal Id As Integer) As List(Of items)
    Dim eve As New List(Of items)()
    eve = (From row In getItems(Id).Rows
           Select New items With {
                                .Name = row("Name").ToString(),
                                .Description = row("Description").ToString(),
                                .ItemPic_url = row("ItemPic_url").ToString()}).ToList()
    Return eve
End Function
Run Code Online (Sandbox Code Playgroud)

以下是我从中调用Web方法的jquery函数:

注意:我的Jquery函数位于我的母版页中,我从启动Default.aspx页调用它。

function getItems() {
        $("#tbody").empty();
        var id = $("select")[0].value;
        $.ajax({
            url: "Default.aspx/dat",
            data: { Id: id },
            contentType: "Application/json; charset=utf-8",
            responseType: "json",
            method: "POST",
            success: function (response) {
                $("#tbody").empty();
                var rows …
Run Code Online (Sandbox Code Playgroud)

javascript vb.net asp.net jquery

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

使用angular-chart.js中的chart-dataset-override选项

我正在撰写预算管理申请表,我正在使用angular-chart.js.

我想使用数据集来覆盖初始数据(主要是为了向图表添加新数据,并为每个条形图,标签等提供不同的颜色),并根据数据的值设置标签和颜色.目前,我试图做硬编码,但只有第一个值是覆盖.

这是我正在使用的代码:

angular.module("app2", ["chart.js"]).controller("MixedChartCtrl",
function($scope) {
    $scope.colors = ['#45b7cd', '#ff6384', '#ff8e72'];

    $scope.labels = ['', ''];
    $scope.data = [65, 11];
    $scope.datasetOverride = [

        {
            label: 'Override Series A',
            borderWidth: 1,
            type: 'bar',
            data: [345]
        },
        {
            label: "Bar chart1",
            borderWidth: 1,
            type: 'bar',
            data: [45]
        }

    ];
});
Run Code Online (Sandbox Code Playgroud)

chart.js

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

Node.js http服务器错误处理

以下是我的代码:

const http = require('http');
var server1 = http.createServer(function(req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.write('request successfully proxied!' + '\n' + JSON.stringify(req.headers, true, 2) + '\n' + req.url);
    res.end();
    throw new Error("Error!!!");
});
server1.on("error", err=>console.log(err));
server1.listen(5060);
Run Code Online (Sandbox Code Playgroud)

为什么 server1.on("error", ...) 不处理回调抛出的异常并且进程停止?如果这样的异常不能通过监听“error”事件来处理,那么我该如何处理这样的异常,以便http服务器从此以后仍然可以正常运行呢?

javascript http node.js server

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

通过SSH连接Nodejs Numtel Mysql

我在使用numtel meteor包通过网络发送和接收MySql信息时遇到了问题(数据库位于服务器上).目前,它能够使用他的软件包将信息从db推送到屏幕,但问题出现在第一次加载之后.在第一次加载时,它能够从数据库中检索信息,并将其显示在屏幕上,但在此之后的任何事情,似乎触发器都被破坏了,但只是稍微有点.我能够向服务器发送信息,但似乎在动态检索上失败了.信息很好地发送到服务器,但信息不会被检索并显示回屏幕.它只会在我添加隧道代码时中断一次.它以前工作,并在同一台机器上使用数据库时获得更新.

messages = new MysqlSubscription('getMessages');

messages.addEventListener('update', function(diff, data) {
    console.log("Event listener");
});

if (Meteor.isClient) {
Template.messageHistory.helpers({
    messages: function () {
      return messages.reactive(); 
    }
  });
} 
if (Meteor.isServer) {

  var Tunnel = Meteor.npmRequire('tunnel-ssh');    
  var config = {
        host: "ourhost",
        username: "uname",
        password: "password",
        port:22,
        dstPort:3306,
        srcPort:3307,
      };

  Tunnel.tunnel(config, function(err) { (err == null) ? console.log(config) : console.log(err) })

  var liveDb = new LiveMysql({
                   host:"localhost",
                   port:3307,
                   database: "db",
                   user: "root",
                   password: "password"
               });

 Meteor.publish('getMessages', function() {
    return liveDb.select(
      'SELECT * FROM …
Run Code Online (Sandbox Code Playgroud)

javascript mysql ssh node.js meteor

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

所有ajax调用完成后的事件

我有一个触发 3 个 ajax 调用的点击事件:

$("#button").click(function(e) {
    e.preventDefault();

    $.ajax(call1);
    $.ajax(call2);
    $.ajax(call3);

    some_function() //should fire off AFTER all ajax calls are complete
});
Run Code Online (Sandbox Code Playgroud)

有没有办法让我在触发我的some_function()函数之前确认所有 ajax 调用都被触发了?

提前致谢!

javascript ajax jquery events

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

从用户电子邮件创建哈希/令牌以进行电子邮件验证

任何人都可以帮我一个从用户输入(电子邮件地址)创建安全令牌(或哈希)的答案。我想制作一个用于注册的电子邮件验证系统。

  • 用户使用电子邮件地址和密码注册
  • 我想创建一个唯一的URL,然后将其发送给用户(因此出现问题)
  • 我将这些(安全的)存储在临时表中
  • 用户通过发送的URL验证自己

我的问题是此URL的外观如何。我认为我应该通过将电子邮件地址编码到其中,将URL保存到临时表中来使其具有唯一性,并且当用户打开链接时,我会比较两者。如果匹配,我会将凭据移至真实表。

您是否有关于此主题的任何良好资源。我在后端有nodejs。谢谢

javascript security web-applications node.js

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

使用node.js检查文件是否损坏

有一些方法可以检查 Node.js 文件是否损坏?

我尝试了许多文件系统方法,例如,fs.readFile但它们都返回正常状态,并且我确信我的文件在测试中已损坏。fs.openfs.access

更清楚地说,我的目标是检查 PDF 是否可读(不仅检查是否可以生成)以及是否可以打开。我在线测试损坏了文件。

javascript node.js

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

如何使用 Ajax、Json 和 Node.js 刷新表数据

我使用 Node.js 作为服务器端,使用 express 和 Twitter Bootstrap 作为前端。该页面有一个带有表单和提交按钮的对话框;表单是通过 Jquery Ajax 调用提交的,以便在 node.js 服务器响应后不要重新加载页面。以下是我想要做的三个步骤:

页面.ejs

<table id="tblProgs" class="table table-bordered table-hover table-striped dataTable">
<thead>
    <tr>
        <th>
            Column
        </th>
   </tr>
</thead>
<tbody>
     <% datas.forEach(function(data) { %>
          <tr>
              <th width="15%">
                  <%- data._column %>
              </th>
          </tr>
     <% }) %>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

也在 page.ejs 正文中的 Ajax 内容

        $('#formId').submit(function (e){
            e.preventDefault();
            $.ajax({
                type: 'POST',
                data: JSON.stringify(data),
                cache: false,
                contentType: 'application/json',
                datatype: "json",
                url: '/route/to/nodejs',
                success: function (result) {                            
                    console.log("Here are the response in json format: " + …
Run Code Online (Sandbox Code Playgroud)

javascript ajax ejs node.js express

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