Сервер отдает JSON потому, что модель CanJS ждет для модели на входе JSON. "can.Model is a can.Observe that connects to a RESTful interface." т.е. не смотря на заявленный RESTful никаких настроек дополнительных для модели нет. И POST и PUT оно делает именно через cgi-параметры. "It doesn't send json data. It sends form encoded data." - т.е. видимо возможен RESTful и без JSON в POST и PUT.
В Mojolicious есть конечно возможность вытащить JSON из запроса(my $data = $self->req->json;), но в этом случае оно не работает. Возвращает undef. И собственно правильно делает... :) Само приложение это сложная админка для сайта. Поэтому в данном случае забота о других программистах постольку поскольку. Просто хочется все сделать единобразно и красиво. Почитал внимательно форум CanJS видимо все таки придется конвертировать в JSON на клиенте. Спасибо за то что натолкнули на правильное направление! 21 июля 2012 г., 13:53 пользователь Dmitry L. <[email protected]> написал: > 2012/7/21 Sergey Malochinskiy <[email protected]>: >> Да я об этом думал, но в этом случае будет преобразование на >> клиенте... не хотелось бы. Сейчас все запросы делает клиентская >> библиотека (can.js) данные в модели, запросы сами отправляются при >> изменении модели и т.д. >> В принципе у меня есть решение по преобразованию на стороне клиента, >> но все таки хочется на стороне сервера... >> > Не совсем понятно почему ваш сервис отдаёт JSON, а получает просто параметры. > > Вы делаете сервис, и завтра могут появиться пользователи-программисты, > которые найдут ваш сервис интересным и захотят, к примеру, сделать > своё приложение для этого сервиса. И, я думаю, у них возникнет > закономерный вопрос - а почему так (это про JSON и cgi-параметры)? > > Если же это такая задумка, чтобы сервис обрабатывал и JSON и > cgiпараметры, то соответственно нужно писать де- и сериализаторы, > которые вероятно будут основываться на Content-Type входящего запроса. > Я к сожалению не пишу на Mojolicious, возможно там уже есть > соответствующие механизмы, об этом наверное нужно спросить в рассылке > mojolicious. > А относительно can.js - мне кажется там должны быть механизмы для > передачи JSON про сохранении/обновлении модели > > > -- > //wbr, Dmitry L. > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org -- Best regards, Sergey Malochinskiy -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
