success node example ajax node.js express http-post arraybuffer

node - jquery ajax post



Cómo manejar la solicitud de ajax/http-post(tipo de respuesta: arraybuffer) usando nodejs+express en el backend (2)

No sé sobre arraybuffer, pero por lo general, podemos acceder a los datos POST usando el parámetro req.body. Eso funciona para ti?

Situación: el cliente js envía una solicitud ajax al servidor de nodejs express.

Cliente

xmlHttpRequest=new XMLHttpRequest(); xmlHttpRequest.open("POST","/some/server/path,true); xmlHttpRequest.responseType="arraybuffer"; xmlHttpRequest.send(new Uint8Array(arraybufferobject));

Servidor (hasta ahora)

var express = require(''express''); var server = express(); server.use(express.static(__dirname)); server.use(express.bodyParser()); server.post(''/goforms/modbus/'',function(req,res,next){ //How to access the uint8array || arraybuffer ? }); server.listen(80);

Estoy atascado en este punto. ¿Cómo acceder a los datos HTTP POST?


El middleware bodyParser no analiza los datos binarios POSTed. Cuando probé las cadenas codificadas en base64, aparecería como el nombre del objeto en un objeto JSON, algo así como {"data":}, obviamente esperando los datos POST en el nombre nombre = valor.

Puede haber un middleware que trate datos binarios, o puede acceder a los datos sin procesar uniéndolos al evento "data" y apilar los fragmentos recibidos en un búfer utilizando el método descrito en la wiki de ProtocolBuffers.js .

Esto está utilizando el módulo http vainilla sin expreso, pero debería funcionar de todos modos.