在 index.html 和 app.js [node.js] 之间共享变量

Share variables between index.html and app.js [node.js]

//index.html
var audioCtx = new AudioContext();
var mySampleRate = audioCtx.sampleRate;

//app.js
var fileWriter = new wav.FileWriter(n + '.wav', {
    channels: 1,
    sampleRate: mySampleRate,

    bitDepth: 16
  });

我想与 node.js 服务共享 index.html 的 mySampleRate [值]。我该怎么做?

首先,您需要在您的节点服务器中创建一个服务方法。

Express 是一个流行的框架,简化了这个过程。

var app = require( "express" )(),
    bodyParser = require( "body-parser" );

app.use( bodyParser.json() );

app.post( "/rate", function( req, res ) {
    console.log( req.body.rate );
} );

在客户端,浏览器提供了一个 API 用于通过名为 XMLHttpRequest 的对象向服务器发出 HTTP 请求,但您可以选择 superagent 之类的东西以获得更好的 API 以及在整个浏览器中更一致的实现。

它应该看起来像这样:

var audioCtx = new AudioContext(),
    mySampleRate = audioCtx.sampleRate;

request
    .post( "/rate" )
    .send( { rate: mySampleRate } )
    .end( function( err, res ){
        if ( res.ok ) {
            console.log( "yey" );
        } else {
            console.log( "ney..." + res.text );
        }
    } );