cakephp骨干保存不工作

时间:2014-02-25 23:13:27

标签: javascript php jquery cakephp backbone.js

我有一个在cakephp中开发的网站,我在骨干网中使用了一个简单的应用程序。 现在我想从主干保存数据但不起作用,总是在回调错误内返回,并且它没有采用正确的值来保存在表内。

这是我的简单应用:

TaskModel = Backbone.Model.extend({
        url: function(){
            return "/step_task/ajax_save";
        }
    });

    TaskCollection = Backbone.Collection.extend({
        model: TaskModel,
        initData: function(data){
            return data;
        }
    });

    var TaskView = Backbone.View.extend({ 
        template: _.template($("#task-template").html()),
        initialize: function(){ 
            this.task = new TaskCollection(<?php echo json_encode($step['StepTask']); ?>);
            this.render();
        }, 
        render: function(){
            taskModel = new TaskModel({
                'id': '1',
                'user_id': '1'
            });
//--------------------------- here I would like to save inside my table ----------------
                taskModel.save(null, {
                    success: function(model, response) {
                        console.log('success');
                        console.log(model);
                        console.log(response);
                    },
                    error: function(model, response) {
                        console.log('error');
                        console.log(model);
                        console.log(response);
                    },
                    wait: true // Add this
                });
                $(this.el).html(this.template({tasks: this.task.models}));
            }
        });

这是我在StepTaskController.php

中的功能
public function ajax_save(){
    $this->autoRender = false;
    $this->StepTask->save($this->request->data);
}

我该如何解决?

1 个答案:

答案 0 :(得分:1)

尝试将模型中的url更改为urlRoot

TaskModel = Backbone.Model.extend({
    urlRoot: '/step_task/ajax_save'
});