Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将表单数据发送到服务器_Javascript_Node.js_Express - Fatal编程技术网

Javascript 如何将表单数据发送到服务器

Javascript 如何将表单数据发送到服务器,javascript,node.js,express,Javascript,Node.js,Express,我想建立一个小网站。我的后端几乎完成了,但我找不到如何将表单数据发送到服务器。这是我的尝试,我想将数据发送到运行在端口3000的localhost,例如: jQuery('#signUp-Form').on('submit',function(e){ e.preventDefault(); console.log('Sending data'); var name = jQuery('[name = username]').val(); // socket.emit

我想建立一个小网站。我的后端几乎完成了,但我找不到如何将表单数据发送到服务器。这是我的尝试,我想将数据发送到运行在端口3000的localhost,例如:

jQuery('#signUp-Form').on('submit',function(e){
    e.preventDefault();
    console.log('Sending data');
    var name = jQuery('[name = username]').val();
//    socket.emit('sign-up',{
//      username: jQuery('[name = username]').val(),
//      password: jQuery('[name = password]').val()
//    });
});
我可以使用socket.io,但是我想使用
POST,GET etc
,在服务器端,我用express构建了我的服务器

我可以将名称从字段中检索到
var name
,现在我想将其发送到服务器:下面是处理此请求的函数。只有前两行:

app.post('/login',(req,res) => {
  var body = _.pick(req.body, ['username', 'password']);
现在我的问题是如何以这种格式发送数据,以便“/login”与模式匹配,并且
req.body
仅包含名称


这是一个基本的问题,但我看不出有什么地方可以这样做。

Khan,看起来您正在尝试两种表单提交方法:非AJAX和AJAX。从您的问题来看,不清楚使用哪种方法,但我将展示这两种方法:

非AJAX 使用


登录
此方法将刷新页面,并向发送数据的用户发出POST请求/登录,如:

username=nha&password=asonteu
AJAX 使用AJAX时,页面不会刷新,您必须以编程方式发送数据:

$( "#myform" ).on( "submit", function( event ) {
    event.preventDefault();
    let data = $( this ).serialize();
    //make our request here
    $.post( "/login", function( data ) {
        console.log(data);
    });
});
serialize()
还对表单数据进行url编码

您的服务器必须处理任何预期的数据格式(以正确提取字段)。URL编码很有用,但稍后您将看到或可能看到。只要客户机和服务器同意,使用哪种格式并不重要

注意:使用POST时,数据将在请求正文中


我希望这有帮助

第二个就是我要找的。谢谢:)@KhanSaab太棒了,很高兴我能帮上忙!