Javascript 如何将表单数据发送到服务器
我想建立一个小网站。我的后端几乎完成了,但我找不到如何将表单数据发送到服务器。这是我的尝试,我想将数据发送到运行在端口3000的localhost,例如: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
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太棒了,很高兴我能帮上忙!