gpt4 book ai didi

javascript - 无法从 backbone POST 到 express

转载 作者:行者123 更新时间:2023-11-30 10:35:59 24 4
gpt4 key购买 nike

这是我正在处理的 View 。这是一个简单的注册表。它从一组输入标签中捕获数据,并将其发布到服务器。然而,POST 数据似乎没有发送到服务器。

define(['text!templates/register.html'], function(registerTemplate){
var registerView = Backbone.View.extend({
el: $('#content'),

events: {
"submit form" : "register"
},

register: function() {

var postData = {
firstname: $('input[name=firstname]').val(),
lastname: $('input[name=lastname]').val(),
email: $('input[name=email]').val(),
password: $('input[name=password]').val()
};

$.post('/register', postData, function(data){
console.log(data);
}
}).error(function(err){
console.log(err);
});

return false;
},

render: function(){
this.$el.html(registerTemplate);
}
});
return registerView;
});

这是我的应用程序中的请求监听器。所有变量在记录时都显示“未定义”。

app.post('/register', function(req, res){
var firstname = req.body.firstname,
lastname = req.body.lastname,
email = req.body.email,
password = req.body.password;


console.log(email);
console.log(firstname);
console.log(lastname);
console.log(password);

if (email === null || password === null) {
res.send(400);
} else {
Account.register(email, password, firstname, lastname);
res.send(200);
}
});

我可以看到我的应用程序中的监听器在提交表单时被触发,但它没有获取我发送的 POST 数据。在浏览器控制台中,我得到的所有错误都是“POST htp://localhost:3000/register 500(内部服务器错误)”

最佳答案

这成功了。我在 req.param 中找到了数据。

app.post('/register', function(req, res){
var firstname = req.param('firstname'),
lastname = req.param('lastname'),
email = req.param('email'),
password = req.param('password');

if (email === null || password === null) {
res.send(400);
} else {
Account.register(email, password, firstname, lastname);
res.send(200);
}
});

关于javascript - 无法从 backbone POST 到 express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14018403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com