Я думаю, что вы передаете объект таким же образом при вызове
$.ajax.post('/to/some/url', data: { test: js_object } );
, где test
- это что-то вроде { "some" : "value" }
.
Что вам нужно сделать, это сначала привести в соответствие объект.Примерно так должно поступить:
$.ajax.post('/to/some/url', data: { test: JSON.stringify(js_object) } );
Когда вы отправляете объекты напрямую, они преобразуются в строку с помощью JavaScript, а когда JS автоматически преобразует объект в строку, он преобразует его в [object Object]
.
Чтобы доказать, просто запустите эти строки в консоли одну за другой:
console.log({a:'b'});
console.log({a:'b'}.toString());
console.log(JSON.stringify({a:'b'}));
Вы поймете разницу!