Backbone Sync возвращает пустой массив $ _POST

Я пытаюсь сделать свое первое приложение RESTful с помощью Backbone и Yii Framework. У меня не было проблем с методами GET, но теперь я застрял с методом POST, чтобы создать новый элемент.

У меня есть модель комментариев в Backbone:

var commentModel = Backbone.Model.extend({

    urlRoot: "index.php/api/comments",
    idAttribute: 'id',

    defaults: {
        content: "Empty comment",
        status: 1
    }
});

На мой взгляд, я добавляю функцию для создания нового комментария, передавая значения из относительной формы:

on_submit: function(e) {
            var new_comment = new Comment({author_id: this.$('#author_text').val(), content: this.$('#content_text').val(), post_id: this.$("#post_text").val(), status: this.$("#status_text").val()});

         new_comment.save();
        },

Глядя на запрос с Firebug, кажется, все в порядке, на вкладке POST я вижу все значения:

JSON            
author_id "7"   
content "Epic fail"
post_id "7" 
status "2"

Source 
{"content":"Epic fail","status":"2","author_id":"7","post_id":"7"}

Но в моем php Api переменная $ _POST пуста!

foreach($_POST as $var=>$value) {

     if($model->hasAttribute($var))
        $model->$var = $value;
     else
        $this->_sendResponse(500);
}

У кого-нибудь есть идеи? Читая документацию Backbone.Sync, я понимаю, что он должен использовать POST для создания запроса.

Я нашел обходной путь, получая значения из:

file_get_contents('php://input') 

но id мне не подходит...

Спасибо.

5
задан Ingro 2 August 2012 в 09:15
поделиться