Yii, Backbone save (), данные не прошли через $ _POST

Это мой JavaScript в index.php:

MyModel = Backbone.Model.extend({
defaults: {
myID: "",
myName: ""},
urlRoot: 'testAjaxAdd',
sync: function(method, model, options) {
options = options || {};
options['data'] = {};

options.data["myID"] = model.get("myID");
options.data["myName"] = model.get("myName");

options.data = JSON.stringify(options.data);

return Backbone.sync.apply(this, arguments);
}
});

MyView = Backbone.View.extend({
el: '.page',
render: function(){
var template = _.template($('#add-owner-template').html(), {});
this.$el.html(template);
},
events: {
'submit .create-owner-form': 'saveOwner'
},
saveOwner: function(events) {
var myName= $('input#myName').val();

var owner = new MyModel({
'myID': "111",
'myName': myName
});

owner.save({},{
success: function(model, response, options) {

console.log('success');
console.log(response); // show $_POST from actionSaveOwner in Controller
console.log(model.toJSON()); // show model
console.log(model.get('myID')); // show owner dbcID
console.log(model.get('myName')); // show owner userID
console.log(JSON.stringify(options)); // show options
console.log(options.data["myID"]); // this is shown undefined in console
console.log(options.data["myName"]); // this is shown undefined in console

},
error: function(model, response, options) {
console.log('error');
console.log(response);
console.log(model.toJSON());
}
});}
});

Я поместил код ниже в самой первой строке в моих кодах JavaScript:

Backbone.emulateHTTP = true;

Это моя HTML-часть формы, а также шаблон JavaScript:

<script type="text/template" id="add-owner-template">
<form class='create-owner-form'>
<label>Name</label>
<input type="text" name="myName" id="myName"/>
<button type="submit" class="btn createcontbutton">Create</button>
</form>
</script>

Это мое очень простое действие в Контроллере, чтобы проверить, работает ли моя магистраль или нет:

public function actionTestAjaxAdd()
{
header('Content-type: application/json');

echo CJSON::encode($_POST);

}

Тем не менее, это то, что я вижу из консоли в POST вкладка:

Parameters  application/x-www-form-urlencoded   Do not sort
{"myID":"111","myName":"i...

Но $ _POST в действии контроллера — ничто, когда я отображаю его обратно в консоли из ответа.

0

Решение

Я наконец решил это сам, используя file_get_contents("php://input") ,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]