i learn node , have problem. why don't read data @ post request? when send post @ html, if req.method post work, emmit 'data' doesn't work. part of html:
<form method="post" action='./script.js'> <label for="my-form">enter phraze</label><input type="text" id='my-form'><br> <input type="submit"> </form> let fs = require('fs'); let http = require('http'); let server = http.createserver( (req, res) => { res.setencoding = 'utf8'; res.writehead(200, {'content-type': 'text/html'}); if(req.url == '/'){ reply('./index.html', res) } if(req.method == 'post'){ let body; req.on('data', (chunk) => { if(chunk != null) {body += chunk.tostring(); res.write(chunk.tostring())} }) req.on('end', () => res.end(body) ) } }).listen(5858); server.on('error', (err) => { throw err.message }); function reply(path, res){ let streampage = fs.createreadstream(path, {encoding: 'utf8'}); streampage.on('readable', (chunk) => { chunk = streampage.read(); if(chunk != null) res.write(chunk) }); streampage.on('end', (out) => res.end()); streampage.on('error', (err) => err.message) }
you send post request script file, it's not correct. should set route server in action field.
<form method="post" action='/'> <label for="my-form">enter phraze</label><input type="text" id='my-form'><br> <input type="submit"> </form>
something this.
Comments
Post a Comment