我如何通过websocket传递表单数据? (socket.io)

<form name="input" action=""> <input type="text" name="say" /> <input type="submit" value="send" /> </form> 

我想发送这种forms的数据通过networking套接字服务器,我使用socket.io。

达到这个目标的最好方法是什么?

你需要在表单上使用.serialize() ,如下所示:

 var formdata = $('form').serialize(); 

然后通过websocket传递。 在node.js一边,你可以通过使用querystring.parse得到一个JS对象:

 var querystring = require('querystring'); // Data is the data received from the client var result = querystring.parse(data); 

你可以试试这个

  function getFormData2Object(form){ var un_array = form.serializeArray(); var _array = {}; $.map(un_array, function(n, i){ if(n.name.indexOf('[') > -1 ){ var array = n.name.match(/\[(.*?)\]/); var key = n.name.replace(array[1],"").replace('[',"").replace(']',""); if(!_array[key]){ _array[key] = {}; } _array[key][array[1]] = n['value']; }else{ _array[n['name']] = n['value']; } }); return _array; } socket.emit('blablabla', getFormData2Object( $("form") ) ); 

祝你好运 :)