Advertisement
msyukron

node js - handle form and get json value

May 1st, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // By: facebook.com/muhammad.sukron.52
  2.  
  3. /*
  4. | result will be JSON format
  5. | visit http://pastebin.com/uNbmC5MW to get form.html
  6. | to test with another method use app http://www.getpostman.com/
  7. */
  8.  
  9. var http = require('http');
  10.  
  11. //to read file
  12. var fs = require('fs');
  13.  
  14. //to handle form. install package required
  15. var formidable = require('formidable');
  16.  
  17. var util = require('util');
  18.  
  19. var server = http.createServer(function(req, res) {
  20.     if(req.url == '/') {
  21.         switch(req.method) {
  22.             case 'GET':
  23.                 set_form(res);
  24.                 break;
  25.  
  26.             case 'POST':
  27.                 process_form(req, res);
  28.                 break;
  29.  
  30.             default:
  31.                 res.end('method not permitted');
  32.                 break;
  33.         }
  34.     }
  35. });
  36.  
  37. function set_form(res) {
  38.     fs.readFile('form.html', function(err, data) {
  39.         res.writeHead(200, {
  40.             'Content-length' : data.length,
  41.             'Content-type' : 'Text/HTML',
  42.             'Content-header' : 'Learn Node JS'
  43.         });
  44.         res.write(data);
  45.         res.end();
  46.     });
  47. }
  48.  
  49. function process_form(req, res) {
  50.     var form = new formidable.IncomingForm();
  51.  
  52.     form.parse(req, function(err, fields, files) {
  53.         //combine object fields and files
  54.         var result = Object.assign(fields, files);
  55.  
  56.         res.end(JSON.stringify(result));
  57.     });
  58. }
  59.  
  60. server.listen(3400);
  61. console.log('server is running');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement