javascript - 在express/node中使用发布的表单数据时遇到问题

标签 javascript node.js post express

目前这是我所拥有的:

这是我的发布方法

app.post('/barchartentry', function(req, res){
        res.render('barchart', { title: 'EZgraph: Bar Chart', barValues: req.body.myInputs, labelValues: req.body.myLabel});
    });

这是我对 Jade 的看法:

extends layout

block appendHeader
    link(rel='stylesheet', href='stylesheets/barchart.css')

block content
    include navbar
    canvas(id='canvas' width="800" height="600")
    include copyright


block appendScripts
    script(src='js/barchart.js')

这是该 View 中的 JS 文件,我需要访问我在该文件中发送的数据

$(document).ready(function() {

        var values = barValues;
        var labels = labelValues;

        console.dir(barValues);

        var canvas = document.getElementById("canvas").getContext("2d");

        canvas.fillStyle="#BFBFBF";
        canvas.fillRect(0,0,800,600);

        canvas.fillStyle="#000000";
        canvas.beginPath();

        canvas.moveTo(40, 40);
        canvas.lineTo(40, 560);
        canvas.lineTo(760, 560);
        canvas.stroke();
});

使用输入数据,我将绘制带有给定数字/标签的条形图。目前,即使将其提供给页面后,我也无法访问该数据。我不确定我是否应该用它做其他事情以使其可供该脚本使用?

最佳答案

我依稀记得尝试将值替换为 Jade 脚本时遇到问题。另外动态生成javascript感觉有点臭。因此,我将数据绑定(bind)到 DOM 并以编程方式访问它:

block content
  include navbar
  canvas(
  id='canvas',
  width="800",
  height="600",
  data-barValues=JSON.stringify(locals.barValues),
  data-labelValues=JSON.stringify(locals.labelValues)
  )
  include copyright

然后在js中:

$(document).ready(function() {
  var values = $('#canvas').attr('data-barValues').val();
  values = JSON.parse(values);
  var labels = $('#canvas').attr('data-labelValues').val();
  labels = JSON.parse(labels);
  ...
});

关于javascript - 在express/node中使用发布的表单数据时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21315725/

相关文章:

javascript - jQuery 切换显示 css 属性

Javascript 移动网站重定向问题

javascript - 如何在悬停或单击时打开 JS 菜单

javascript - Uncaught ReferenceError : Media is not defined

javascript - 不同格式的请求 HTTP POST 到 CURL

node.js - 如何在node.js客户端中进行Auth

javascript - 如何在 Node Webkit 桌面应用程序中使用 Google Analytics

Node.js:管道传输文件时出现 ECONNRESET 错误

java - 通过 REST API 将视频文件发送到 Java 中的 JIRA

HTTP:部分更新资源(接受空字符串)的模式?