Я пытался понять это уже несколько часов, но не могу найти причину проблемы.
На стороне клиента Javascript я отправляю вложенный объект через ajax на свой внутренний сервер nodejs. Аякс выглядит так:
$.ajax({
type: "POST",
url: "/user/save",
data: {
"account": {
"username": $signupForm.find("input[name='register_username']").val(),
"email": $signupForm.find("input[name='register_email']").val(),
"password": $signupForm.find("input[name='register_password']").val(),
"plan": subscription
},
"stripe": stripeResponse
},
dataType: "json",
beforeSend: function(){
$.fn.showLoading();
},
success: function(data){
}
});
Затем я ловлю это в своих маршрутах/index.js
router.post('/user/save', function(req, res){
var post_data = req.body;
console.info(post_data);
var account = post_data.account;
var card = post_data.stripe;
console.log(account);
console.log(card);
// Rest of code...
Проблема здесь в том, что по какой-то причине и post_data.account
, и post_data.stripe
возвращаются как неопределенные. Сам post_data действительно возвращает данные.
Я также пытался отправить данные из ajax с помощью JSON.stringify
, но это тоже не сработало.
У меня также есть body-parser, который используется в app.js.
Я не вижу, где моя проблема. Почему мои данные не определены?
console.info(post_data)
? - person John Weisz   schedule 01.08.2015console.info(post_data)
возвращает данные, которые я должен получить:{ 'account[username]': "asd", 'account[email]': "asd", ... }
- person Karl Viiburg   schedule 01.08.2015